日期:2014-05-16 浏览次数:20770 次
可以把tr看作为一个简化的sed工具,tr表示为:translate。tr命令主要用于实现以下两个功能
tr [option] ["string1"] ["string2"] < file常用的选项有:
[root@localhost client]# echo "hello world,root,2012" | tr -c "0-9" "*" *****************2012*可以看出,我们使用0-9,添加-c选项后,会把0-9替换为其补集,这时补集自然不包含0-9,而包含很多其它的字符,接下来就把所有的其它字符都替换成*号,但不包含数字。
[root@localhost client]# echo "hello world,root,2012" | tr "0-9" "*" hello world,root,****
速记符 | 含义 | 八进制方式 |
---|---|---|
\a | Ctrl-G | 铃声\007 |
\b | Ctrl-H | 退格符\010 |
\f | Ctrl-L | 走行换页\014 |
\n | Ctrl-J | 新行\012 |
\r | Ctrl-M | 回车\015 |
\t | Ctrl-I | tab键\011 |
\v | Ctrl-X | \030 |
[root@localhost client]# echo "hello world" | tr "a-z" "A-Z" HELLO WORLD [root@localhost client]# echo "hello world" | tr "a-l" "A-Z" HELLo worLD [root@localhost client]# echo "hello world" | tr "a-z" "A-H" HEHHH HHHHD第一行输出就是将小写换成大写。
tr "a-z" "A-Z" < inputfile
[root@localhost client]# echo "hello world,root" | tr -s "ao" hello world,rot [root@localhost client]# echo "hello world,root" | tr -s "lo" helo world,rot [root@localhost client]# echo "hello world,root" | tr -s "a-z" helo world,rot [root@localhost client]# echo "hello world,root" | tr -s "0-9" hello world,root第一行表示将输入字符串中的包含在"ao"字符集中的重复字符去掉,只留一个。因为"hello world,root",只有o满足条件,所以将root变成rot,把中间的两个o变成一个。