在 Mac OS X 中批量更改文件扩展名?

在 Mac OS X 中批量更改文件扩展名?

我使用 wget 将网站下载到文件夹中。当文件具有相同的名称时,wget 将新文件存储为 name.extension。#

现在我有数百个文件,如 1.jpg、1.jpg.1、1.jpg.2 等。

我怎样才能将每个带有 .jpg* 扩展名的文件更改为普通的 .jpg?

编辑:我使用了免费软件 NameChanger,它让我在更改扩展名之前按 EXIF 数据进行组织。

答案1

使用姓名粉碎机可以做到这一点。共享软件,但是:试用版:Name Mangler 可无限制进行 25 次启动。

您可以在左侧看到原始和未来的文件名,以及顺序编号我使用了右边的。这里重要的是手动定义.jpg后缀,而不是附加原始扩展名。

合适配置的屏幕截图


免费姓名更改器也可以这样做。(谢谢響克

合适配置的屏幕截图

答案2

我假设您想1.jpg.1将其重命名为1-1.jpg,否则您将丢失它们。我想到了一个快速而肮脏的方法:只需使用即可sed动态构建一个 shell 脚本并运行sh它:

$ ls -1 *jpg* | sed -e 's@\(.*\)\(\.jpg\.\)\(.*\)@mv \1\2\3 \1-\3.jpg@' | grep ^mv | sh 

强烈建议您在之前检查输出sh以确保它确实会做正确的事情。

答案3

IFS=$'\n'; for f in `find . -name '*.jpg.*'`; do echo mv "$f" "`sed -E 's/(.*)\.jpg\.(.*)/\1-\2.jpg/' <<< "$f"`"; done

另一个版本适用于所有子文件夹中的文件,并应处理带有空格的文件名。

答案4

这是在终端中重命名多个文件的容易记住的方法:

rename 's/\.jpg.1/\.jpg/' *.jpg.1

只需在每个文件后面加上扩展名/\.,并确保在第二个参数中指定现有文件(*.jpg.1在本例中)

相关内容