[Linux命令] tr命令

tr命令可以对来自标准输入的字符进行替换、压缩和删除。它可以将一组字符变成另一组字符,经常用来编写优美的单行命令,作用很强大。


  • 不带参数:将SET2中的每个字符替换SET1中的每个字符,字符是顺序替换,如果SET1的字符长度大于SET2,那么将SET1中多出来的字符用SET2中的最后一个字符替换。

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

Example:

[root@DD root]# echo "aaAA1bbBB2ccCC3" | tr 'abc' '12'
11AA122BB222CC3

[root@DD root]# echo "aaAA1bbBB2ccCC3" | tr 'ab' '123'
11AA122BB2ccCC3

[root@DD root]# echo "aaAA1bbBB2ccCC3" | tr -t 'abc' '12'
11AA122BB2ccCC3

  • -c : 取反操作,取数据流中SET1中指定字符的补集。
  • -d : 删除SET1中指定的字符,这里没有SET2
  • -s : 将SET1中指定的连续的连续重复的字符用单个字符替代,可以使用-s ‘\n’删除空行。

Example:

[root@DD root]# echo "aaAA1bbBB2ccCC3" | tr -d 'abc'
AA1BB2CC3

#tr -c [set1] [set2] 用set2替换set1的补集 
[root@DD root]# echo "haBBcchDD" | tr -c 'ha' '123'
ha3333h333[

#删除ha的补集
[root@DD root]# echo "haBBcchDD" | tr -d -c 'ha'
hah

[root@DD root]# echo "haBBcchDD" | tr -s 'aBCD'
haBcchD

你可能感兴趣的:(Linux,&,Unix)