我有以下命令,通过添加后缀“重命名 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
“根据”文件名