如何重命名多个文件中的某个前缀?

Ken*_*Ken 6 command-line files batch-rename

我有一个文件夹,其中包含 500 多个带有特定前缀的文件。这些文件分布在一个目录中的多个文件夹中。我的目标是在这些多个文件中重命名该前缀。

示例文件名和路径:

  • 我的文件/我的- my- old -FileOfAlice.txt
  • 我的文件/文件夹 1/我的- my- old -FileOfTom.odt
  • 我的文件/文件夹 2/ my- old -FileOfJane.doc

目标是将它们重命名为:

  • 我的文件/我的-文件新的-FileOfAlice.txt
  • 我的文件/文件夹 1/我的- new -FileOfTom.odt
  • 我的文件/文件夹 2/my- new -FileOfJane.doc

笔记:

  • 这些文件没有相同的扩展名。
  • 这些文件分布在同一目录下的多个文件夹中。我正在使用 Kubuntu 16.10。任何面向 Ubuntu 的答案都将被接受和赞赏。

任何命令行、程序、指南、教程或链接将不胜感激。提前致谢!

Way*_*Yux 8

您可以使用以下命令:

find -name "*-old-*" -exec rename 's/-old-/-new-/' {} \;
Run Code Online (Sandbox Code Playgroud)

该搜索包含文件的-old-递归开始在当前目录下,并通过替换它们重命名-old--new-

注意:替换old可能就足够了,但我包括了-以防万一,old名称中有第二个(例如my- old -F old ers.doc)。