linux下的rename命令的bug
环境:ubuntu 11.11 安装在 VMware 8上
1.Perl正则表达式
三种形式:
1.1> 匹配:m/<regexp>/ (可以省略,直接写成/regexp/)
1.2> 替换:s/<pattern>/<replacement>/
1.3> 转化:tr/<pattern>/<replacement>/
使用场景 rename 命令;rename 命令常用到替换和转换两种,
转换是将replacement逐个字符替换patter逐个字符,s/
替换是将replacement整个字符串替换 patter字符串。 tr/
lujiang@ubuntu:~/happy_1$ ls -li
total 56
678024 -rw-r--r-- 1 lujiang lujiang 179 2012-03-31 02:40 apply_1
678025 -rw-r--r-- 1 lujiang lujiang 179 2012-03-31 02:40 apply_2
678026 -rw-r--r-- 1 lujiang lujiang 179 2012-03-31 02:40 apply_3
678027 -rw-r--r-- 1 lujiang lujiang 179 2012-03-31 02:40 apply_4
678060 -rw-r--r-- 1 lujiang lujiang 179 2012-03-31 02:40 apply_5
678061 -rw-r--r-- 1 lujiang lujiang 179 2012-03-31 02:40 apply_6
678062 -rw-r--r-- 1 lujiang lujiang 179 2012-03-31 02:40 apply_7
678063 -rw-r--r-- 1 lujiang lujiang 179 2012-03-31 02:40 apply_8
678064 -rw-r--r-- 1 lujiang lujiang 179 2012-03-31 02:40 apply_9
678066 -rw-r--r-- 1 lujiang lujiang 179 2012-03-31 02:40 apply_a
lujiang@ubuntu:~/happy_1$ rename s/apply/appp/ apply_*
lujiang@ubuntu:~/happy_1$ ls
appp_1 appp_3 appp_5 appp_7 appp_9
appp_2 appp_4 appp_6 appp_8 appp_a
lujiang@ubuntu:~/happy_1$ ll
total 64
drwxrwxr-x 4 lujiang lujiang 4096 2012-03-31 02:41 ./
drwxr-xr-x 26 lujiang lujiang 4096 2012-03-30 18:07 ../
-rw-r--r-- 1 lujiang lujiang 179 2012-03-31 02:40 appp_1
-rw-r--r-- 1 lujiang lujiang 179 2012-03-31 02:40 appp_2
-rw-r--r-- 1 lujiang lujiang 179 2012-03-31 02:40 appp_3
-rw-r--r-- 1 lujiang lujiang 179 2012-03-31 02:40 appp_4
-rw-r--r-- 1 lujiang lujiang 179 2012-03-31 02:40 appp_5
-rw-r--r-- 1 lujiang lujiang 179 2012-03-31 02:40 appp_6
-rw-r--r-- 1 lujiang lujiang 179 2012-03-31 02:40 appp_7
-rw-r--r-- 1 lujiang lujiang 179 2012-03-31 02:40 appp_8
-rw-r--r-- 1 lujiang lujiang 179 2012-03-31 02:40 appp_9
-rw-r--r-- 1 lujiang lujiang 179 2012-03-31 02:40 appp_a
lujiang@ubuntu:~/happy_1$ rename s/appp/apply/ appp_*
lujiang@ubuntu:~/happy_1$ l
apply_1 apply_3 apply_5 apply_7 apply_9
apply_2 apply_4 apply_6 apply_8 apply_a
lujiang@ubuntu:~/happy_1$ ll
total 64
drwxrwxr-x 4 lujiang lujiang 4096 2012-03-31 02:41 ./
drwxr-xr-x 26 lujiang lujiang 4096 2012-03-30 18:07 ../
-rw-r--r-- 1 lujiang lujiang 179 2012-03-31 02:40 apply_1
-rw-r--r-- 1 lujiang lujiang 179 2012-03-31 02:40 apply_2
-rw-r--r-- 1 lujiang lujiang 179 2012-03-31 02:40 apply_3
-rw-r--r-- 1 lujiang lujiang 179 2012-03-31 02:40 apply_4
-rw-r--r-- 1 lujiang lujiang 179 2012-03-31 02:40 apply_5
-rw-r--r-- 1 lujiang lujiang 179 2012-03-31 02:40 apply_6
-rw-r--r-- 1 lujiang lujiang 179 2012-03-31 02:40 apply_7
-rw-r--r-- 1 lujiang lujiang 179 2012-03-31 02:40 apply_8
-rw-r--r-- 1 lujiang lujiang 179 2012-03-31 02:40 apply_9
-rw-r--r-- 1 lujiang lujiang 179 2012-03-31 02:40 apply_a
lujiang@ubuntu:~/happy_1$ rename tr/apply/appp/ apply_*
lujiang@ubuntu:~/happy_1$ ll
total 64
drwxrwxr-x 4 lujiang lujiang 4096 2012-03-31 02:42 ./
drwxr-xr-x 26 lujiang lujiang 4096 2012-03-30 18:07 ../
-rw-r--r-- 1 lujiang lujiang 179 2012-03-31 02:40 apppp_1
-rw-r--r-- 1 lujiang lujiang 179 2012-03-31 02:40 apppp_2
-rw-r--r-- 1 lujiang lujiang 179 2012-03-31 02:40 apppp_3
-rw-r--r-- 1 lujiang lujiang 179 2012-03-31 02:40 apppp_4
-rw-r--r-- 1 lujiang lujiang 179 2012-03-31 02:40 apppp_5
-rw-r--r-- 1 lujiang lujiang 179 2012-03-31 02:40 apppp_6
-rw-r--r-- 1 lujiang lujiang 179 2012-03-31 02:40 apppp_7
-rw-r--r-- 1 lujiang lujiang 179 2012-03-31 02:40 apppp_8
-rw-r--r-- 1 lujiang lujiang 179 2012-03-31 02:40 apppp_9
-rw-r--r-- 1 lujiang lujiang 179 2012-03-31 02:40 apppp_a
lujiang@ubuntu:~/happy_1$ rename s/apppp/appSS/ apppp_*
lujiang@ubuntu:~/happy_1$ ll
total 64
drwxrwxr-x 4 lujiang lujiang 4096 2012-03-31 02:42 ./
drwxr-xr-x 26 lujiang lujiang 4096 2012-03-30 18:07 ../
-rw-r--r-- 1 lujiang lujiang 179 2012-03-31 02:40 appSS_1
-rw-r--r-- 1 lujiang lujiang 179 2012-03-31 02:40 appSS_2
-rw-r--r-- 1 lujiang lujiang 179 2012-03-31 02:40 appSS_3
-rw-r--r-- 1 lujiang lujiang 179 2012-03-31 02:40 appSS_4
-rw-r--r-- 1 lujiang lujiang 179 2012-03-31 02:40 appSS_5
-rw-r--r-- 1 lujiang lujiang 179 2012-03-31 02:40 appSS_6
-rw-r--r-- 1 lujiang lujiang 179 2012-03-31 02:40 appSS_7
-rw-r--r-- 1 lujiang lujiang 179 2012-03-31 02:40 appSS_8
-rw-r--r-- 1 lujiang lujiang 179 2012-03-31 02:40 appSS_9
-rw-r--r-- 1 lujiang lujiang 179 2012-03-31 02:40 appSS_a
lujiang@ubuntu:~/happy_1$ rename tr/appSS/apply/ appSS_*
lujiang@ubuntu:~/happy_1$ ls
appll_1 appll_3 appll_5 appll_7 appll_9 goHome server
appll_2 appll_4 appll_6 appll_8 appll_a hello test_test
lujiang@ubuntu:~/happy_1$ ll
total 64
drwxrwxr-x 4 lujiang lujiang 4096 2012-03-31 02:43 ./
drwxr-xr-x 26 lujiang lujiang 4096 2012-03-30 18:07 ../
-rw-r--r-- 1 lujiang lujiang 179 2012-03-31 02:40 appll_1
-rw-r--r-- 1 lujiang lujiang 179 2012-03-31 02:40 appll_2
-rw-r--r-- 1 lujiang lujiang 179 2012-03-31 02:40 appll_3
-rw-r--r-- 1 lujiang lujiang 179 2012-03-31 02:40 appll_4
-rw-r--r-- 1 lujiang lujiang 179 2012-03-31 02:40 appll_5
-rw-r--r-- 1 lujiang lujiang 179 2012-03-31 02:40 appll_6
-rw-r--r-- 1 lujiang lujiang 179 2012-03-31 02:40 appll_7
-rw-r--r-- 1 lujiang lujiang 179 2012-03-31 02:40 appll_8
-rw-r--r-- 1 lujiang lujiang 179 2012-03-31 02:40 appll_9
-rw-r--r-- 1 lujiang lujiang 179 2012-03-31 02:40 appll_a
lujiang@ubuntu:~/happy_1$
问题1:为何转化的时候,会出现转换字符不匹配的问题?
第一次用 rename tr/apply/appp/ apply_* 结果却转换成 apppp
第二次用rename tr/appSS/apply/ appSS_* ,结果却给我转换成appll
求大虾帮忙,传道解惑...