tr - 转换或删除字符串
tr - translate or delete characters(转换或删除字符串)
tr命令从标准输入删除或替换字符,并将结果写到标准输出。根据由string1和string2变量指定的字符串以及指定的标志,tr命令可执行三种操作。
格式:
tr [OPTION]... String1 [String2]
OPTION:
- -d :从标准输入中删除String1中包含的每一个字符
- -s :缩减连续重复的字符成指定的单个字符
- -c :反选设定字符。也就是符合String1的部分不做处理,不符合的剩余部分才进行转换
字符集合的范围:
各种转义字符如:\n,\r等和正则中常用的[:alnum:],[:digit:]等
示例:
1.小写转换成大写:
$ echo 'walter' | tr 'a-z' 'A-Z'
WALTER
$ echo 'walter' | tr '[:lower:]' '[:upper:]'
WALTER
2.删除指定字符:
$ echo 'walter' | tr -d 'er'
walt
3.指定不删除的字符:
$ echo 'walter' | tr -d -c 'walt \n' #这里不删除\n,结果walt就会和下一个$连在一起
walt
4.压缩重复字符:
$ echo 'walterr iss comming' | tr -s 'rism'
walter is coming
$ echo 'walterr iss comming' | tr -s 'rism ' #可以看到tr只能删除连续的重复字符,与uniq类似
walter is coming
5.做数字相加:
$ echo $[`echo 1 2 3 4 5 6 7 8 9 | tr ' ' '+'`]
45
总结:
tr命令感觉像是sed命令的精简版。使用较少。

浙公网安备 33010602011771号