四时宝库

程序员的知识宝库

浅谈Linux中Shell的tr命令简单使用

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。

欢迎大家给予宝贵的意见或者建议。

欢迎大家补充或者共享一些其他的方法。

感谢支持

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接