Shell批量修改文件名 运维人员必备-批量修改文件名

Shell批量修改文件名 运维人员必备

文件要改名,文件名格式是_01.webp _02.webp这样依次类推,同事要求把前面的"_"给去掉,还好要求算简单,没有让我再改成其他名字.

一条命令搞定:

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

如果要连_0都去掉的话,就这样写:

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

好了,这样就搞定了,再给大家一些其他类似的命令吧,下面的命令我没有验证,有问题的话不要找我哦.

把格式 _?.webp 的文件改为 _0?.webp:

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

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

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

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

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

推荐阅读