如何在Linux中批量重命名一组文件名?


9

我有一个文件夹,其图像名为:

pic001-2.png
pic002-2.png
pic003-2.png 

如何将它们重命名为以下内​​容?

pic001.png
pic002.png
pic003.png 

我已经尝试过了,mv "pic*-2.png" "pic*.png"但是不断出错。

Answers:


11

这将删除-2在每个文件名中找到的第一个:

for f in pic*-2.png; do
  mv "$f" "${f/-2/}"
done

要测试它,只需echo在该mv行之前。


9

您需要适当命名的“重命名”命令!

尝试这样的事情:

rename 's/(pic\d+)-\d\.jpg/$1.jpg/' pic*.jpg

它以perl正则表达式为第一个参数,因此您的模式匹配和操作选项非常广泛。有关完整的详细信息,请参见rename(1)手册页。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.