使用终端删除 OS X 中的文件扩展名

kex*_*eam 8 terminal bash osx-mountain-lion

问题:

我有大约 200 多个文件命名为符合“DSC01852.JPG.jpg”的内容。我想删除文件扩展名,因此结果变为“DSC01852.JPG”。

有什么建议?我查看了 mv 命令,但无法弄清楚如何编写正确的命令。

Ans*_*ers 11

如果这些文件都在同一目录中,您可以像这样重命名它们:

for f in /some/dir/*.JPG.jpg; do
  mv "$f" "${f%.*}"
done
Run Code Online (Sandbox Code Playgroud)

${f%.*}.*从变量的末尾$f(在本例中为文件名)删除与模式匹配的最短文本(一个点后跟任意文本),从而产生如下命令:

mv "/some/dir/DSC01852.JPG.jpg" "/some/dir/DSC01852.JPG"
Run Code Online (Sandbox Code Playgroud)