tr命令

tr命令可以对来自标准输入的字符进行替换、压缩和删除。

 

-c:取反(补集)

-d:删除

-s:压缩重复字符, 可以使用-s ' '删除空行。

-t:字符字符顺序1对1替换,无论SET1还是SET2哪个长,只替换对应的字符,多出的不替换。

举例:

1,无参替换:

[root@localhost] ~$ echo "HELLO WORLD" | tr 'A-Z' 'a-z' 
hello world
[root@localhost] ~$ echo "aaAA1bbBB2ccCC3" | tr 'abc' '12'
11AA122BB222CC3

a被替换成1,b被替换成2,c被替换成2

[root@localhost] ~$ echo "aaAA1bbBB2ccCC3" | tr 'ab' '123'
11AA122BB2ccCC3

a被替换成1,b被替换成2

2、-t  多出的字符不替换

[root@localhost] ~$ echo "aaAA1bbBB2ccCC3" | tr -t 'abc' '12'
11AA122BB2ccCC3
[root@localhost] ~$ echo "aaAA1bbBB2ccCC3" | tr -t 'ab' '123'
11AA122BB2ccCC3

a被替换成1,b被替换成2

3,-d 删除,-c取反

[root@localhost] ~$ echo "aaAA1bbBB2ccCC3" | tr -d 'a-z'
AA1BB2CC3 
[root@localhost] ~$  echo "aaAA1bbBB2ccCC3" | tr -d -c 'a-z
'
aabbcc

4,-c 取反( 是换行) 

[root@localhost] ~$ echo aa.,a 1 b#$bb 2 c*/cc 3 ddd 4 | tr -d -c '0-9 
' 
 1  2  3  4

此例中,补集中包含了数字0~9、空格和换行符 ,所以没有被删除,其他字符全部被删除了。 

5,-s 压缩

[root@localhost] ~$ echo "thissss is a text linnnnnnne." | tr -s ' sn' 
this is a text line.

 

 

原文地址:https://www.cnblogs.com/fanren224/p/8457331.html