我有一个文件夹,里面有 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老的请参阅此处。