tr常见用法及实例linux centos

版权声明:lu_mang https://blog.csdn.net/qq_37120573/article/details/82556626
  • 语法
tr(选项)(参数)
tr (选项) a b
把a替换成b
  • 选项
-c或——complerment:取代所有不属于第一字符集的字符;
-d或——delete:删除所有属于第一字符集的字符;
-s或--squeeze-repeats:把连续重复的字符以单独一个字符表示;
-t或--truncate-set1:先删除第一字符集较第二字符集多出的字符。

实例

不加选项
[root@localhost ~]# echo hello|tr 'a-z' 'A-z'
HELLO
大小写替换
[root@localhost ~]# echo {1..5}|tr ' ' '\t'
1       2       3       4       5
空格替换成\t tab制表符替换

[root@localhost ~]# echo aa.,a 1 b#$bb 2 c*/cc 3 ddd 4
aa.,a 1 b# 2 c*/cc 3 ddd 4
[root@localhost ~]# echo aa.,a 1 b#$bb 2 c*/cc 3 ddd 4|tr -d 'a-z'
., 1 # 2 */ 3  4              删除所有的字母
  • -c  取代所有不属于第一字符集的字符
[root@localhost ~]# echo aa.,a 1 b#$bb 2 c*/cc 3 ddd 4
aa.,a 1 b# 2 c*/cc 3 ddd 4
[root@localhost ~]# echo aa.,a 1 b#$bb 2 c*/cc 3 ddd 4 |tr -c '0-9' '!'
!!!!!!1!!!!2!!!!!!!3!!!!!4![root@localhost ~]# 
除0-9之外的所有字符均用!取代,包括\n 空格等字符
  • -d 删除字符
[root@localhost ~]# echo aa.,a 1 b#$bb 2 c*/cc 3 ddd 4 |tr -d '0-9'  
aa.,a  b#  c*/cc  ddd
删除数字


-d -c组合使用
[root@localhost ~]# echo aa.,a 1 b#$bb 2 c*/cc 3 ddd 4 |tr -cd '0-9 \n'
 1  2  3  4
空格,换行符其他全部删除,只保留数字
  • -s 连续重复字符只显示一次
[root@localhost ~]# echo "thissss is      a text linnnnnnne." | tr -s ' sn'
this is a text line.
[root@localhost ~]# echo 1 2 3 4 5 6 7 8 9 | xargs -n1 | echo $[ $(tr '\n' '+') 0 ]
45
echo输出后竖向打印,把回车符替换成+号变成1+2..+9+,后边加0 然后用$[]计算
[root@localhost ~]# echo $[`echo {1..9}|tr '  \n' ' + '`]
45
把空格替换成 空格+空格 用$[]计算

猜你喜欢

转载自blog.csdn.net/qq_37120573/article/details/82556626