目的:批量重新命名一些檔案,這些檔案有共同特徵,比如具有相同的字母,或者沒有共同特徵,想統一重新命名,修改它們相同位置上的字元等等。
1、我想把它們的名字的第乙個1個字母變為"q",其它的不變
[root@pps mailqueue]# for i in `ls`; do mv -f $i `echo $i | sed 's/^./q/'`; done
----------------------------------------
或者寫個指令碼,顯得更加清晰:
for file in `ls`
donewfile =`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 迴圈 + 組合命令處理」的思路來實現檔案批量重新命名滴。
批量重新命名Linux檔案
把當前目錄下的所有檔案重新命名為a 例如 a.jpg 則執行後變成a a.jpg for var in do mv var a var done 1 刪除所有的 bak 字尾 rename s bak bak 2.加.zip字尾 rename s zip 3 把 jpe 檔案字尾修改為 jpg 4 ...
Linux批量重新命名檔案
1 bin bash 為檔名新增前導0,以保證檔名前的數字位數相同 3個 for file in ls doif echo file grep 1 9 0 9 dev null then newfile echo file sed s 1 9 0 9 00 elif echo file grep s...
批量重新命名檔案
windows xp下 比如 ren jpe jpg linux下 在多數系統中,rename是乙個perl指令碼,rename的使用也支援perl的正規表示式。rename的基本語法是 rename perl表示式 檔名perl表示式用於修改檔名,如s開頭的串表示替換。舉幾個比較實用的例子 刪除所...