如何在控制台中批量重命名文件名

use*_*754 4 find rename

我有很多名为“img800400_497708.307247.png”的文件,我想使用控制台将所有点(句点)更改为下划线。我怎样才能做到这一点?

Oli*_*Oli 6

您可以使用该rename命令相当轻松地完成此操作。唯一的问题是保留扩展名。我们首先替换所有的点,然后替换_png.png。您显然需要针对其他扩展类型进行调整。

cd /path/to/images
rename 's/\./_/g; s/_png$/.png/' *.png -vn
Run Code Online (Sandbox Code Playgroud)

注意:-vn最后只会演示它会做什么。这是一个安全触发器。检查命令执行您想要的操作,然后删除最后一部分。

一个超级简单的测试工具:

$ touch file.{01..10}.png
$ rename 's/\./_/g; s/_png$/.png/' *.png -vn
file.01.png renamed as file_01.png
file.02.png renamed as file_02.png
file.03.png renamed as file_03.png
file.04.png renamed as file_04.png
file.05.png renamed as file_05.png
file.06.png renamed as file_06.png
file.07.png renamed as file_07.png
file.08.png renamed as file_08.png
file.09.png renamed as file_09.png
file.10.png renamed as file_10.png
Run Code Online (Sandbox Code Playgroud)