日期:2014-05-16  浏览次数:20532 次

leeboy的linux学习十一tr实例

tr用来从标准输入中通过替换或删除操作进行字符转换。实例详解:

1、tr -s "[0-9],[a-z]" < trText:指定数字和小写字母,将重复的删除,只保留第一个。例如I love yyyyyyou,通过命令后I love you。

 2、cat trText | tr -s "[\012]":删除空行,其中\012是八进制数

        cat trText | tr -s '\n':也是删除空行。

3、tr a-z A-Z < trText:将小写转换成大写

        tr [:upper:] [:lower:] < trText: 将大写转为小写

4、tr -sc "[a-z][A-Z]" "\012" < trText:将所以非字母转换为换行,并只保留一个换行。-s表示删除重复的换行符,-c表示[a-z][A-Z]的补集。

例如And the cowwwwwws went homeeeeeeeee通过转换后

And

the

cowwwwwws

went

homeeeeeeeee

5、tr -s "[\136]" "[\040]" < trText:将136(^)转化为40(空格)。

 6、tr -d "0-9" < trText:删除数字

-c 用字符串1中字符集的补集替换此字符集,要求字符集为ASCII。

-d 删除字符串1中所有输入字符。

-s 删除所有重复出现字符序列,只保留第一个。

[a-z] a-z内的字符组成的字符串。

[A-Z] A-Z内的字符组成的字符串。

[0-9] 数字串。

\octal 一个三位的八进制数,对应有效的ASCII字符。

[O*n] 表示字符O重复出现指定次数n。因此[O*2]匹配OO的字符串。