linux命令详解:tr命令

转:http://www.cnblogs.com/lwgdream/archive/2013/11/05/3407809.html

 

前言

通过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命令用来转换字符集合。

你可能感兴趣的:(linux命令)