linux/unix 批量改檔名

xiexingzhi發表於2012-09-05
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 迴圈 + 組合命令處理”的思路來實現檔案批量重新命名滴。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22531473/viewspace-742727/,如需轉載,請註明出處,否則將追究法律責任。

相關文章