Linux 批量重新命名檔案小技巧

2021-10-20 08:25:22 字數 2145 閱讀 7135

作業系統:centos linux release 7.4.1708 (core)

需求:需要將.txt檔案的字尾改為.log

需要命令:rename

[root@test test]# rename -h

usage:

rename [options] expression replacement file...

options:

-v, --verbose explain what is being done

-s, --symlink act on symlink target

-h, --help display this help and exit

-v, --version output version information and exit

for more details see rename(1).

可以看到rename的使用方法是rename [選項]  替換前的內容 替換後的內容 替換檔案

試驗樣例:

[root@test test]# touch .txt

[root@test test]# ll

total 0

-rw-r--r--. 1 root root 0 feb 26 10:59 10.txt

-rw-r--r--. 1 root root 0 feb 26 10:59 1.txt

-rw-r--r--. 1 root root 0 feb 26 10:59 2.txt

-rw-r--r--. 1 root root 0 feb 26 10:59 3.txt

-rw-r--r--. 1 root root 0 feb 26 10:59 4.txt

-rw-r--r--. 1 root root 0 feb 26 10:59 5.txt

-rw-r--r--. 1 root root 0 feb 26 10:59 6.txt

-rw-r--r--. 1 root root 0 feb 26 10:59 7.txt

-rw-r--r--. 1 root root 0 feb 26 10:59 8.txt

-rw-r--r--. 1 root root 0 feb 26 10:59 9.txt

[root@test test]# rename -v .txt .log *.txt

`10.txt' -> `10.log'

`1.txt' -> `1.log'

`2.txt' -> `2.log'

`3.txt' -> `3.log'

`4.txt' -> `4.log'

`5.txt' -> `5.log'

`6.txt' -> `6.log'

`7.txt' -> `7.log'

`8.txt' -> `8.log'

`9.txt' -> `9.log'

[root@test test]# ll

total 0

-rw-r--r--. 1 root root 0 feb 26 10:59 10.log

-rw-r--r--. 1 root root 0 feb 26 10:59 1.log

-rw-r--r--. 1 root root 0 feb 26 10:59 2.log

-rw-r--r--. 1 root root 0 feb 26 10:59 3.log

-rw-r--r--. 1 root root 0 feb 26 10:59 4.log

-rw-r--r--. 1 root root 0 feb 26 10:59 5.log

-rw-r--r--. 1 root root 0 feb 26 10:59 6.log

-rw-r--r--. 1 root root 0 feb 26 10:59 7.log

-rw-r--r--. 1 root root 0 feb 26 10:59 8.log

-rw-r--r--. 1 root root 0 feb 26 10:59 9.log

ps:網上有很多類似這種rename 's/替換前內容/替換後內容/' 需要替換檔案,rename並不能真正重新命名。具體情況使用rename -h 檢視幫助文件進行操作

Linux批量重新命名檔案

目的 批量重新命名一些檔案,這些檔案有共同特徵,比如具有相同的字母,或者沒有共同特徵,想統一重新命名,修改它們相同位置上的字元等等。1 我想把它們的名字的第乙個1個字母變為 q 其它的不變 root pps mailqueue for i in ls do mv f i echo i sed s q...

批量重新命名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...