红联Linux门户
Linux帮助

Linux批量重命名文件

发布时间:2009-03-22 16:14:50来源:红联作者:RFCOS
出自 “小蜗牛技术之家” 出处http://snailwarrior.blog.51cto.com/680306/139706

目的:批量重命名一些文件,这些文件有共同特征,比如具有相同的字母,或者没有共同特征,想统一重命名,修改它们相同位置上的字符等等。

1、我想把它们的名字的第一个1个字母变为"q",其它的不变

[root@pps mailqueue]# for i in `ls`; do mv -f $i `echo $i | sed 's/^./q/'`; done

----------------------------------------
或者写个脚本,显得更加清晰:
for file in `ls`
do
newfile =`echo $i | sed 's/^./q/'`
 mv $file $newfile
done
----------------------------------------

2、修改前面5个字母为zhaozh

[root@pps mailqueue]# for i in `ls`; do mv -f $i `echo $i | sed 's/^...../zhaozh/'`; done

3、修改后面5个字母为snail

[root@pps mailqueue]# for i in `ls`; do mv -f $i `echo $i | sed 's/.....$/snail/'`; done

4、在前面添加 _hoho_

[root@pps mailqueue]# for i in `ls`; do mv -f $i `echo "_hoho_"$i`; done

5、所有的小写字母变大写字母

[root@pps mailqueue]# for i in `ls`; do mv -f $i `echo $i | tr a-z A-Z`; done

唉,举了5个例子,说到底就是用“for 循环 + 组合命令处理”的思路来实现文件批量重命名滴。
文章评论

共有 9 条评论

  1. chenxp1989 于 2013-01-18 19:05:59发表:

    xuexe

  2. rhel5 于 2011-03-24 20:28:55发表:

    learning

  3. yandih 于 2011-01-15 12:28:57发表:

    好东西啊!

  4. pallana 于 2011-01-14 04:22:16发表:

    学习一下

  5. lykginy 于 2011-01-13 17:19:17发表:

    ??

  6. feng_1206 于 2009-05-30 16:49:44发表:

    学习中……

  7. li-0578 于 2009-03-23 09:18:30发表:

    多方面的组合应用!楼主的精神值得学习!

  8. nishiwodidi 于 2009-03-22 23:10:54发表:

    先收藏 再学习

  9. 相思爱文 于 2009-03-22 18:33:02发表:

    好东西,正好可以改全部文件的扩展名。
    没看懂,先收藏。
    先去学脚本。