Linux/MacOS批量修改文件名字

2020-05-18 22:52:08 浏览数 (2)

有时候文件夹中存在九个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

0 人点赞