天天看点

关于linux系统下批量修改文件名和后缀

总会遇到遇到处理文件的问题,比如文件后缀修改,以前都是写shell,后来发现有个更简单的方法

rename

1,在centos 下是用c 写的 rename

用法:

         a.txt  修改为 a.cc  

        rename txt  cc *.txt                  renme  [原字符串]  [要修改成的字符串]   [匹配文件]

        有时候会遇到按序号段来修改的

        a001.txt  修改为a0099.txt 

        rename a00 a000 a00??        rename  [原字符串]   [要修改成的字符串]   [匹配文件范围]

2,在Ubuntu 下是用perl 的renme

用法:

        a.txt  修改为 a.cc

        rename ‘s/\.txt/\.cc/’ *.txt       rename 's/[原字符串]/[要修改成的字符串] /'    [匹配文件范围]

        其实和vim和sed 下批量修改字符串没什么区别,

最后说下用shell 脚本实现

for i in `ls *.c | awk -F'.' '{print $1}'`

do

    mv $i.c $i.cc

done 

还有就是

ls *.c | awk -F'.'  '{print $1}'|xargs -i -t mv {}.c {}.cc

本文转自wks9751CTO博客,原文链接:http://blog.51cto.com/wks97/1956053 ,如需转载请自行联系原作者

继续阅读