我的文件夹如下所示:
➜ ls -l
total 437932
-rwxrwxrwx 1 wheel 16254039 Jun 1 20:45 DSC_0210.NEF
-rwxrwxrwx 1 wheel 83532064 Jun 1 21:16 DSC_0210.png
-rwxrwxrwx 1 wheel 16672363 Jun 1 20:45 DSC_0211.NEF
-rwxrwxrwx 1 wheel 16590658 Jun 1 20:46 DSC_0212.NEF
-rwxrwxrwx 1 wheel 17174603 Jun 1 20:46 DSC_0213.NEF
-rwxrwxrwx 1 wheel 17038931 Jun 1 20:47 DSC_0214.NEF
-rwxrwxrwx 1 wheel 17050255 Jun 1 20:48 DSC_0217.NEF
-rwxrwxrwx 1 wheel 17005150 Jun 1 20:48 DSC_0218.NEF
-rwxrwxrwx 1 wheel 17254947 Jun 1 20:49 DSC_0219.NEF
-rwxrwxrwx 1 wheel 16036682 Jun 1 20:49 DSC_0221.NEF
...
我可以使用以下命令一次转换一个 NEF 文件:
convert DSC_0210.NEF DSC_0210.png
如何使用一个命令转换所有文件?
答案1
您可以从文件所在的目录中使用以下命令执行此操作:
for f in *.NEF; do convert "$f" "${f%.*}.png"; done
在上面的命令中:
我们使用
for
循环 (for f in *.NEF; do ...; done
) 搜索所有以.NEF
(*.NEF
) 结尾的文件。对于每个找到的文件(
f
),我们使用convert "$f" "${f%.*}.png"
命令将原始文件("$f"
)转换为,方法.png
是删除原始文件的扩展名(${f%.*}
)并附加.png
扩展名("${f%.*}.png"
)。