关于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 脚本实现

1
2
3
4
for in `ls *.c | awk -F'.' '{print $1}'`
do
    mv $i.c $i.cc
done


还有就是

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


没试过,请自测















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




上一篇:关于mount在unix系统上


下一篇:微服务应用问题定位及故障演练