Linux|[Linux命令] tr命令

【Linux|[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

    推荐阅读