如何在复制时批量重命名文件?

如何在复制时批量重命名文件?

我有很多电影文件夹图标,我想将这些文件夹图标传输到 USB 驱动器,以便我的朋友可以使用它们。但问题是所有这些文件夹图标都被命名为“folder.png”,nautilus 提供了重命名文件的选项,但我必须手动为每个文件执行此操作,这几乎是不可能的。

所以有没有办法我可以传输所有这些文件并让它们自动重命名,如“folder1.png”,“folder2.png”等等

答案1

cp可以做编号备份:

$ cp --backup=numbered folder.png folder.png folder.png folder.png foo
$ ls foo
folder.png  folder.png.~1~  folder.png.~2~  folder.png.~3~

现在,只需重命名这些:

$ rename -n 's/(.png).~(\d+)\~/$2$1/' foo/*
rename(foo/folder.png.~1~, foo/folder1.png)
rename(foo/folder.png.~2~, foo/folder2.png)
rename(foo/folder.png.~3~, foo/folder3.png)

意味着-n更改将被报告,但实际上并未执行。请在-n验证输出后运行。

答案2

有一款非常棒的应用程序叫 Krename,它对我很有用。

sudo apt-get install krename

相关内容