Linux批量重新命名檔案

2021-09-08 08:59:10 字數 1102 閱讀 2134

目的:批量重新命名一些檔案,這些檔案有共同特徵,比如具有相同的字母,或者沒有共同特徵,想統一重新命名,修改它們相同位置上的字元等等。

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開頭的串表示替換。舉幾個比較實用的例子 刪除所...