如何使用 find 命令重命名带有前缀和后缀的多个文件

如何使用 find 命令重命名带有前缀和后缀的多个文件

我有以下命令,通过添加后缀“重命名 find 命令找到的许多文件已处理”。我如何修改它以添加“ren”之类的前缀“?

find . -type f -name 'file*.dat' -execdir mv {} {}_processed ';'

答案1

考虑使用rename命令(基于 Perl 表达式):

find . -type f -name "file*.dat" -execdir rename 's/(file.*?\.dat)$/ren_$1_processed/' {} +

请注意,重命名正则表达式需要是惰性的,以免捕获目录部分中的文件。另外,重命名可以很高兴地接受多个参数。

这将重命名命令提供的所有文件,并在文件两侧find添加前缀ren_和后缀_processed“根据”文件名

相关内容