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

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

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

示例文件名和路径:

  • 我的文件/我的-老的-文件OfAlice.txt
  • 我的文件/文件夹 1/my-老的-汤姆文件.odt
  • 我的文件/文件夹 2/my-老的-FileOfJane.doc

目标是将它们重命名为:

  • 我的文件/我的-新的-文件OfAlice.txt
  • 我的文件/文件夹 1/my-新的-汤姆文件.odt
  • 我的文件/文件夹 2/my-新的-FileOfJane.doc

笔记:

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

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

答案1

您可以使用以下命令:

find -name "*-old-*" -exec rename 's/-old-/-new-/' {} \;

这将在当前目录中递归搜索包含 的文件,并通过将替换-old-为 来重命名它们。-old--new-

注意:替换old可能就足够了,但我包括了以防万一,名称中-有第二个(例如我的-old老的-F老的请参阅此处。

相关内容