一条shell命令搞定批量修改图片文件名

发布时间:2020-11-29编辑:脚本学堂
本文介绍了shell命令批量修改图片文件名的方法,用到了shell for循环、awk、sed等命令来完成批量修改图片文件名,小编感觉不错,特此分享。

如果同时修改几百个文件,文件名格式是_01.png _02.png这样,要求把前面的"_"给去掉,应该如何操作?

一条linux shell命令搞定:
 

for i in `ls _*.png`; do mv "$i" `echo "$i" |awk -F '_0' '{print $1 "0" $2}'`; done

连_0都去掉:
 

for i in `ls _*.png`; do mv "$i" `echo "$i" |awk -F '_0' '{print $1,$2}'`; done

其它类型的批量修改文件的例子:
1、把格式 *_?.jpg 的文件改为 *_0?.jpg:
 

for i in `ls *_?.jpg`; do mv "$i" `echo "$i" |awk -F '_' '{print $1 "_0" $2}'`; done

2、把文件名的前三个字母变为 vzomik:
 

for i in `ls`; do mv -f "$i" `echo "$i" |sed 's/^.../vzomik/'`; done

3、把文件名的后四个字母变为 vzomik:
 

for i in `ls`; do mv -f "$i" `echo "$i" |sed 's/....$/vzomik/'`; done