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

posted @ 2013-11-10 16:03  摩斯电码  阅读(486)  评论(0编辑  收藏  举报