最简单和最快的方法是使用GNU Parallel,如下所示:
find . -iname \*rw2 -print0 | parallel -0 sips -s format jpeg --out {.}.jpg {}
因为这将并行使用所有 CPU 内核。但是在你启动任何你没有测试过的命令之前,最好使用这样的--dry-run
选项,这样它就会向你展示它要做什么,但实际上不做任何事情:
find . -iname \*rw2 -print0 | parallel --dry-run -0 sips -s format jpeg --out {.}.jpg {}
样本输出
sips -s format jpeg --out ./sub1/b.jpg ./sub1/b.rw2
sips -s format jpeg --out ./sub1/a.jpg ./sub1/a.RW2
sips -s format jpeg --out ./sub2/b.jpg ./sub2/b.rw2
如果您喜欢它的外观,请删除--dry-run
并再次运行它。请注意,该-iname
参数表示它对大小写不敏感,因此它适用于“ .RW2”和“ .rw2”。
GNU Parallel可以通过homebrew轻松安装在 macOS 上:
brew install parallel
它也可以在没有包管理器(如homebrew)的情况下安装,因为它实际上是一个 Perl 脚本,而 Mac 带有 Perl。因此,您可以通过在终端中执行此操作来安装:
(wget pi.dk/3 -qO - || curl pi.dk/3/) | bash
您的问题似乎很困惑,您是想要DNG
标题建议的JPEG
文件还是代码建议的文件。我的代码按原样生成 JPEG。如果要DNG
输出,则需要安装Adobe DNG Converter,然后运行:
find . -iname \*rw2 -print0 | parallel --dry-run -0 \"/Applications/Adobe DNG Converter.app/Contents/MacOS/Adobe DNG Converter\"
您可以将其他一些选项附加到上述命令的末尾:
-e
将原始文件嵌入到RW2
DNG
-u
将创建DNG
未压缩的文件
-fl
将快速加载信息添加到DNG
DNG Converter似乎很高兴能够并行运行多个实例,但我没有测试数千个文件。如果遇到问题,一次只运行一项工作,方法是更改为parallel -j 1 ...
Adobe DNG Converter在 macOS 下使用homebrew很容易安装,如下所示:
brew install caskroom/cask/adobe-dng-converter