
可以把tr看作为一个简化的sed工具,tr表示为:translate。tr命令主要用于实现以下两个功能
替换操作的字符串转换。
删除操作的字符串转换,可以很容易的删除一些控制字符或者是空行。
tr命令能够实现的功能,都能够用sed命令来实现。但就具体的替换功能来说,tr用起来更容易,也比较简单。
一,命令格式
[html]
tr[option]["string1"]["string2"]<file
常用的选项有:
默认选项。就是没有任何选项的时候,tr默认为替换操作,就是将string1在文件中出现的字符替换为string2中的字符,这里要注意的是替换关系。
-c选项,用string1中字符的补集替换string1,这里的字符集为ASCII。
-d选项,删除文件中所有在string1中出现的字符。
-s选项,删除文件中重复并且在string1中出现的字符,只保留一个。
-c选项在使用时,只是将string1替换为现在的补集,如在使用
C代码
[html]
[root@localhostclient]#echo"helloworld,root,2012"|tr-c"0-9""*"
*****************2012*
可以看出,我们使用0-9,添加-c选项后,会把0-9替换为其补集,这时补集自然不包含0-9,而包含很多其它的字符,接下来就把所有的其它字符都替换成*号,但不包含数字。
如果只需要替换数字的话:
C代码
[html]
[root@localhostclient]#echo"helloworld,root,2012"|tr"0-9""*"
helloworld,root,****
二,字符串的取值范围
指定string或string2的内容时,只能使用单字符或字符串范围或列表。
[a-z]a-z内的字符组成的字符串。
[A-Z]A-Z内的字符组成的字符串。
[0-9]数字串。
octal一个三位的八进制数,对应有效的ASCII字符。
[O*n]表示字符O重复出现指定次数n。因此[O*2]匹配OO的字符串。
三,控制字符的不同表达方式
速记符含义八进制方式
aCtrl-G 铃声