总会遇到遇到处理文件的问题,比如文件后缀修改,以前都是写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


没试过,请自测