用一个命令转换多个文件

pet*_*rge 4 command-line bash convert

我的文件夹如下所示:

\n
\xe2\x9e\x9c  ls -l\ntotal 437932\n-rwxrwxrwx 1 wheel 16254039 Jun  1 20:45 DSC_0210.NEF\n-rwxrwxrwx 1 wheel 83532064 Jun  1 21:16 DSC_0210.png\n-rwxrwxrwx 1 wheel 16672363 Jun  1 20:45 DSC_0211.NEF\n-rwxrwxrwx 1 wheel 16590658 Jun  1 20:46 DSC_0212.NEF\n-rwxrwxrwx 1 wheel 17174603 Jun  1 20:46 DSC_0213.NEF\n-rwxrwxrwx 1 wheel 17038931 Jun  1 20:47 DSC_0214.NEF\n-rwxrwxrwx 1 wheel 17050255 Jun  1 20:48 DSC_0217.NEF\n-rwxrwxrwx 1 wheel 17005150 Jun  1 20:48 DSC_0218.NEF\n-rwxrwxrwx 1 wheel 17254947 Jun  1 20:49 DSC_0219.NEF\n-rwxrwxrwx 1 wheel 16036682 Jun  1 20:49 DSC_0221.NEF\n...\n
Run Code Online (Sandbox Code Playgroud)\n

我可以使用以下命令一次转换一个 NEF 文件:

\n
convert DSC_0210.NEF DSC_0210.png\n
Run Code Online (Sandbox Code Playgroud)\n

如何用一个命令转换所有文件?

\n

Bea*_*nog 5

从您拥有文件的目录中,您可以使用以下命令来执行此操作:

for f in *.NEF; do convert "$f" "${f%.*}.png"; done
Run Code Online (Sandbox Code Playgroud)

在上面的命令中:

  • 我们使用for循环 ( for f in *.NEF; do ...; done) 来搜索所有以.NEF( *.NEF) 结尾的文件。

  • 对于每个找到的文件 ( f),我们使用convert "$f" "${f%.*}.png"命令将原始文件 ( "$f") 转换为.png删除原始文件 ( ${f%.*}) 的扩展名并附加.png扩展名 ( "${f%.*}.png")。