首页 > 解决方案 > 使用重命名递归地将前缀附加到所有文件

问题描述

我正在尝试使用以下方法将前缀00_递归地附加到我的所有pdf文件中:

find . -name "*.pdf" | rename 's/^/00_/' *

但是,通过这种方式,我将前缀附加到路径。用rename递归修改文件名的表达式是什么?

标签: bashrename

解决方案


默认情况下,重命名会修改整个路径。-d通过传递标志可以单独考虑文件名。另请注意,*glob 将匹配当前目录中的所有文件,而不仅仅是您传递给stdin. 因此,要00_添加到文件名,请使用:

find . -name "*.pdf" | rename -d 's/^/00_/'

您还可以添加-n标志来进行试运行,其中打印重命名而不执行。


推荐阅读