我有多个具有相似命名文件的文件夹(例如Article(1).rtf
,Article(2).rtf
等)。我想将它们全部存储在一个目录中,但由于它们具有完全相同的名称,因此会立即覆盖它们。我想在每个文件的名称中添加一个不同的数字,具体取决于它们所在的文件夹,以便名称不同。例如,第一个文件夹为Article(1)1.rtf
,Article(2)1.rtf
,第二个文件夹为Article(1)2.rtf
,Article(2)2.rtf
,等等。如何在终端中使用它?感谢。
答案 0 :(得分:0)
mv
一种方法是使用GNU coreutils的mv
实用程序。您可以通过Homebrew安装它:
brew install coreutils
安装实用程序后,可以使用mv
的GNU版本,Homebrew将其作为gmv
提供,以避免与本机BSD版本冲突。 GNU版本有一个非常方便的--backup
标志,这是这个用例的理想选择。例如:
find . -name '*rtf' \
-exec gmv --backup=numbered {} /path/to/merge/directory/ +
这样可以防止文件被破坏,并产生版本化的文件名,如:
等等。然后,您可以使用其他可安装Homebrew的实用程序(如fdupes
)进行重复数据删除或rename
进一步处理文件名以满足您的目的。