Linux rename批量更改文件名 原

 

需求: 更改基本文件名只有1個字符的擴展文件名

如將1.txt, 2.txt, a.txt更改爲 1.kk, 2.kk, a.kk

而12.txt, 22.txt, a33.txt不會被更改

 

命令:rename 's/(^.)\.kk/$1.uuu/' *          

命令:‘s/x/y’ 中,s是命令搜索,‘/'是參數分隔符, x是要被替換(替換前)的字符串,y是替換後的字符串。

perl 正則表達式

x,y 使用perl 正則表達式版本。

^表示開頭

$表示結尾

.表示任意一個字符

\.表示字符.

$1: 代表基本文件名/(^.)

 

 ⚡ root@cubietruck  /xdx/1  ll
total 28K
-rw-r--r-- 1 root root 814 Jun 30 19:52 1.kk
-rw-r--r-- 1 root root 814 Jun 30 19:52 2.kk
-rw-r--r-- 1 root root 814 Jun 30 19:52 3.kk
-rw-r--r-- 1 root root 814 Jun 30 19:52 34.kk
-rw-r--r-- 1 root root 814 Jun 30 19:52 4.kk
-rw-r--r-- 1 root root 814 Jun 30 19:57 9999999.ddd
-rw-r--r-- 1 root root 814 Jun 30 19:54 tttt.kk
 ⚡ root@cubietruck  /xdx/1  rename 's/(^.)\.kk/$1.uuu/' *                                                  ⚡ root@cubietruck  /xdx/1  ll
total 28K
-rw-r--r-- 1 root root 814 Jun 30 19:52 1.uuu
-rw-r--r-- 1 root root 814 Jun 30 19:52 2.uuu
-rw-r--r-- 1 root root 814 Jun 30 19:52 3.uuu
-rw-r--r-- 1 root root 814 Jun 30 19:52 34.kk
-rw-r--r-- 1 root root 814 Jun 30 19:52 4.uuu
-rw-r--r-- 1 root root 814 Jun 30 19:57 9999999.ddd
-rw-r--r-- 1 root root 814 Jun 30 19:54 tttt.kk
 ⚡ root@cubietruck  /xdx/1 

 

更改含有kk文件名爲ddd


 ⚡ root@cubietruck  /xdx/1  rename 's/.kk/.ddd/' *                                                         ⚡ root@cubietruck  /xdx/1  ls
1.ddd  2.ddd  3.ddd  34.ddd  4.ddd  9999999.ddd  tttt.ddd
 ⚡ root@cubietruck  /xdx/1  rename 's/kk/ddd/' *                                                           ⚡ root@cubietruck  /xdx/1 

更改爲經ddd結尾的文件

✘ ⚡ root@cubietruck  /xdx/1  rename 's/ddd$/uuu/' *
 ⚡ root@cubietruck  /xdx/1  ls
1.uuu  2.uuu  3.uuu  34.uuu  4.uuu  9999999.dddk  tttt.uuu
 ⚡ root@cubietruck  /xdx/1 
[B] 14.04  0:~- 1:/xdx/1*                

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章