tr tracslate 的简写
例1 替换字符,把小写的r替换成大写的R
shuohailhl@shuohailhl-PC /cygdrive/d
$ cat pass.txt
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
shuohailhl@shuohailhl-PC /cygdrive/d
$ tr 'r' 'R' < ./pass.txt
Root:x:0:0:Root:/Root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/vaR/adm:/sbin/nologin
例2 把小写全换成大写
$ tr '[a-z]' '[A-Z]' < ./pass.txt
ROOT:X:0:0:ROOT:/ROOT:/BIN/BASH
BIN:X:1:1:BIN:/BIN:/SBIN/NOLOGIN
DAEMON:X:2:2:DAEMON:/SBIN:/SBIN/NOLOGIN
ADM:X:3:4:ADM:/VAR/ADM:/SBIN/NOLOGIN
例 3
shuohailhl@shuohailhl-PC /cygdrive/d
$ a=`echo 123456789 | tr '1-9' '[A*5]'BCDE` #前5个字符替换成A
shuohailhl@shuohailhl-PC /cygdrive/d
$ echo $a
AAAAABCDE
shuohailhl@shuohailhl-PC /cygdrive/d
$ a=`echo 123456789 | tr '1-9' '[A*]'BCDE` #不指定A的替换的数量,
shuohailhl@shuohailhl-PC /cygdrive/d
$ echo $a
AAAAABCDE
shuohailhl@shuohailhl-PC /cygdrive/d
$ a=`echo 123456789 | tr '1-9' '[A*6]'BCDE` #指定替换个数为6,则最后一个E就没了
shuohailhl@shuohailhl-PC /cygdrive/d
$ echo $a
AAAAAABCD