tr 在linux命令中是 translate的缩略,主要用于对单个字符的替换或是删除 (作用对象是单个字符,或字符集,不能替换单词)
tr的语法
tr [选项] 文字集1 [文字集2]
-d --delete 删除包含在字符集里的字符
-s --squeeze-repeats 压缩包含在字符集里的字符
-c --complement 对象为字符集以外的字符
tr 不能直接输入文件名,需要使用管道 | 输入数据
下面的例子中将文件里的a,b,c,替换为1,2,3
$ cat test.txt
abc 1
bcd 2
cde 3
def 4
efg 5
$ cat test.txt | tr abc 012
012 1
12d 2
2de 3
def 4
efg 5
可以使用A-Z等缩略形式,下面的例子将文件中小写字母转换成大写字母
$ cat test.txt | tr a-z A-Z
ABC 1
BCD 2
CDE 3
DEF 4
EFG 5
压缩多个相同字符 (-s)
-s 选项可以压缩多个相同字符为一个,可以用来消除多余空格等操作
$ cat test2.txt
aaaaaa 123
aaaaab 234
aaabcd 345
$cat test2.txt | tr -s a
a 123
ab 234
abcd 345
删除字符 (-d)
-d 选项可以删除指定的字符
$ cat test2.txt | tr -d a
123
b 234
bcd 345
