前言

通过tr命令来转化数据,比如大小写的转换;用转换成另外一种字符集

命令用法

-s 压缩连续的指定字符集合

-d 删除指定的字符集合

常见用法举例

大小写转换

tr a-z A-Z 或 tr [A-Z] [a-z]

1: [root@master dir]# cat e
2: lwg
3:
4: lwgarmstrong
5: [root@master dir]# cat e | tr '[a-z]' '[A-Z]'
6: LWG
7:
8: LWGARMSTRONG

字符集合转换

比如按照这个对应关系转换(a,b,c,d) –> (1,2,3,4)

1: [root@master dir]# cat f
2: abcdefg
3: aba
4: [root@master dir]# cat f | tr '[a-d]' '[1-4]'
5: 1234efg
6: 121

tr –s 合并连续的字符集合

tr –s ‘\n’ 合并连续的换行。

tr –s ‘[ab]’ 合并联系的a 或者b

1: [root@master dir]# cat -A e
2: lwg$
3: $
4: lwgarmstrong$
5: [root@master dir]# cat e | tr -s '\n'
6: lwg
7: lwgarmstrong

1: [root@master dir]# echo "abaabb" | tr -s '[ab]'
2: abab

tr –d 删除指定的字符集合的字符

tr –d ‘\n’删除所有的换行符,那么所有的行都合成了一行

tr –d ‘[0-9]’ 删除所有的数字

1: [root@master dir]# cat -A e
2: lwg$
3: $
4: lwgarmstrong$
5: [root@master dir]# cat e | tr -d '\n'
6: lwglwgarmstrong[root@master dir]#

1: [root@master dir]# echo "a123b23c27897d" | tr -d '[0-9]'
2: abcd
特殊说明

1)tr是从标准输入接收数据,并进行转换,输出到标准输出。也就是 tr –s ‘\n’ fileName 这样是错误的

2)转换的字符集合最好一一对应,否则会出现无法预料的情况

总结

tr命令用来转换字符集合。