需求: 更改基本文件名只有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*