如何在Mac OS中使用模式更改文件名?

时间:2015-08-18 21:29:31

标签: regex macos bash file terminal

我有55个名为的文件:

result_fresh_1.txt 
... 
result_fresh_55.txt

我想将它们重命名为:

result_bl_1.txt 
... 
result_bl_55.txt

我该如何自动执行此操作?

2 个答案:

答案 0 :(得分:0)

for file in result_fresh_*.txt
do
    mv "$file" $(echo "$file" | sed 's/_fresh_/_bl_/')
done

我有一个Perl-based rename command(也可以在Linux机器上使用,因此其他地方也必须提供等效源),这会将其减少到:

rename 's/_fresh_/_bl_/' result_fresh_*.txt

显示的名称中没有任何空格,但除非名称包含换行符,否则代码将正常工作。

答案 1 :(得分:0)

尝试:

for f1 in $(echo {1..55});do
 if [ -f "result_fresh_$f1.txt" ];then
   mv result_fresh_$f1.txt result_b1_$f1.txt
 fi
done