好消息:胡歌网摘新面貌迎接2015~!

用shell批量重命名文件名

网络技术 胡歌 1838浏览 0评论

几百个文件要改名,文件名格式是_01.png _02.png这样依次类推,需求是要把前面的”_”给去掉。
一条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

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

把格式 *_?.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

转载请注明:胡歌网摘 » 用shell批量重命名文件名

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (1)

  1. 回文是必须的,这个可以有!
    李雪儿3年前 (2016-01-01)回复