shell批量修改文件名

post by rocdk890 / 2014-12-25 11:27 Thursday linux技术
  公司同事今天找我帮忙修改文件名,我一看,好嘛,几百个文件要改名,文件名格式是_01.png _02.png这样依次类推,同事要求把前面的"_"给去掉,还好要求算简单,没有让我再改成其他名字.
一条命令搞定:
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

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

把格式 *_?.jpg 的文件改为 *_0?.jpg:
for i in `ls *_?.jpg`; 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
夜空- 本站版权
1、本站所有主题由该文章作者发表,该文章作者与夜空享有文章相关版权
2、其他单位或个人使用、转载或引用本文时必须同时征得该文章作者和夜空的同意
3、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
4、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
5、原文链接:blog.slogra.com/post-564.html

标签: 修改 shell 批量 文件 文件名

评论: