[size=medium]Linux批量重命名文件会涉及到改变一个字母、改变一些相连字母、改变某些位置的字母、在最前面加上某些字母、或者改变字母的大小写。完成这里五个方法基本上就会解决了Linux批量重命名的工作。
[color=blue]1、我想把它们的名字的第一个1个字母变为"q",其它的不变[/color]
# 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
[color=blue]2、修改前面5个字母为zhaozh[/color]
# for i in `ls`; do mv -f $i `echo $i | sed 's/^...../zhaozh/'`; done
[color=blue]3、修改后面5个字母为snail[/color]
# for i in `ls`; do mv -f $i `echo $i | sed 's/.....$/snail/'`; done
[color=blue]4、在前面添加 _hoho_[/color]
# for i in `ls`; do mv -f $i `echo "_hoho_"$i`; done
[color=blue]5、所有的小写字母变大写字母[/color]
# for i in `ls`; do mv -f $i `echo $i | tr a-z A-Z`; done[/size]
[color=blue]1、我想把它们的名字的第一个1个字母变为"q",其它的不变[/color]
# 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
[color=blue]2、修改前面5个字母为zhaozh[/color]
# for i in `ls`; do mv -f $i `echo $i | sed 's/^...../zhaozh/'`; done
[color=blue]3、修改后面5个字母为snail[/color]
# for i in `ls`; do mv -f $i `echo $i | sed 's/.....$/snail/'`; done
[color=blue]4、在前面添加 _hoho_[/color]
# for i in `ls`; do mv -f $i `echo "_hoho_"$i`; done
[color=blue]5、所有的小写字母变大写字母[/color]
# for i in `ls`; do mv -f $i `echo $i | tr a-z A-Z`; done[/size]