exiftool -all= *
我在 Linux 系统的下载文件夹中意外运行了该命令(该命令会从当前目录中的所有文件中删除 EXIF 元数据)。幸运的是,exiftool
通过添加扩展名创建了备份文件_original
(因此untitled.jpg
变成了untitled.jpg_original
。我怎样才能从原始文件(我已将其移入文件夹)中删除此后缀,以便使原始文件保留其原始文件名?
答案1
如果它们都在同一级目录中,那么使用 bash 可以像这样简单:
$ for i in *.jpg_original; do mv -v "$i" "${i/.jpg_original/.jpg}"; done
renamed 'test.jpg_original' -> 'test.jpg'
$
答案2
改名
打开终端,将目录更改为包含名称末尾cd
带有 的文件的目录,然后运行以下命令:_original
find . -type f -name '*_original' -print0 | xargs -0 rename 's/_original//'
要查找_original
文件名中带有后缀的文件,请运行上述命令的第一部分。
find . -type f -name '*_original'
find
子目录中的文件也可以rename
重命名,无论文件位于何处,因此在重命名之前不需要将文件移动到其他地方。
rename 's/_original//'
_original
从找到的文件名称中删除,并用零长度的空字符串find
替换。_original
sed 和 mv
如果您的 Linux 发行版中的程序与用于测试此代码的程序(Larry Wall 的“Perl rename”,基于 Debian,基于 Red Hat 的发行版)rename
不同,您可以使用而不是来重命名文件。rename
rename
prename
mv
rename
find . -type f -name '*_original' | sed -e 'p;s/_original//' | xargs -n2 mv
find . -type f -name '*_original'
查找所有具有_original
后缀的文件并用零长度的空字符串sed -e 'p;s/_original//' | xargs -n2 mv
替换。_original