有时候文件夹中存在九个small_*.jpeg文件,*处是1-9,比如small_1.jpeg,当我们要批量改名的时候,一般会用以下两种方法:
1. for mv
代码语言:javascript复制for i in `seq 1 9`; do
mv small_${i}.jpeg large_${i}.jpeg
done
2. rename
代码语言:javascript复制rename "s/small/large/" small*
rename 的与sed等替换方法很像。需要注意的是,MacOS中并没有像linux一样自带rename命令,需要先安装:
代码语言:javascript复制brew install rename
个人认为rename更简单方便,不过for mv更灵活,适合更多的情况。 比如说,将刚才修改好的文件将_后边的数字都 1:
代码语言:javascript复制for i in `seq 9 -1 1`;do # 倒序输出
num=`echo $i | awk '{print $i 1}'`
mv large_${i}.jpeg large_${num}.jpeg
done