Shell tr命令
用途:
translate简写,主要用于压缩重复字符、删除文件中的控制字符、字符转换等操作。
补充:
只能对stdin操作,不可直接对文件操作。
语法:
tr [OPTION]... SET1 [SET2]
参数:
常用参数:
-c:
反选设定字符。
就是符合SET1的部份不做处理,不符合的剩余部份才进行转换。
-d:
删除指令字符。
-s:
缩减连续重复的字符成指定的单个字符。
-t:
削减SET1指定范围,使之与SET2设定长度相等。
案例1:
基础测试
[root@kingdom ~]# echo "123456" | tr 234 abc
1abc56
[root@kingdom ~]# echo "122334456" | tr 234 abc
1aabbcc56
[root@kingdom ~]# echo "122334456234" | tr 234 abc
1aabbcc56abc
[root@kingdom ~]# echo "122334456234" > testTr.txt
[root@kingdom ~]# tr 234 abc < testTr.txt
1aabbcc56abc
注意:
使用标准重定向输入[<]来间接的操作文件内容
tr 234 abc:是指将对应位置的所有字符进行替换
例如:所有的2替换成a
//简单的转换大小写
[root@kingdom ~]# echo "abcdefg" > tmp.txt
[root@kingdom ~]# tr "[a-z]" "[A-Z]" < tmp.txt
ABCDEFG
案例2:
测试-s参数
[root@kingdom ~]# echo "11234aabcd1aaaaa" | tr -s "1a"
1234abcd1a
删除文本中空白行
案例3:
测试-d参数
[root@kingdom ~]# echo "123456abcABC" | tr -d "[a-z][A-Z]"
123456
案例4:
测试-c参数
cat demo1 | tr -sc "[a-z]" "\n"
注意:-sc删除多余的行
测试完成
关于更多的tr命令的信息请参见man tr。
欢迎大家给予宝贵的意见或者建议。
欢迎大家补充或者共享一些其他的方法。
感谢支持