tr命令

mac2022-06-30  90

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

 

-c:取反(补集)

-d:删除

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

-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\n' aabbcc

 

4,-c 取反(\n是换行) 

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

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

 

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

最新回复(0)