快速业务通道

tr命令详解

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-03-23
tr - translate or delete characters 替换或删除字符
常用选项的tr命令格式为:
tr -c -d -s ["string1_to_translate_from"] ["string2_to_translate_to"] file
选项说明:
-c 用字符串1中字符集的补集替换此字符集,要求字符集为ASCII.
-d 删除字符串1中所有输入字符.
-s 删除所有重复出现字符序列,只保留第一个;即将重复出现字符串压缩为一个字符串.
file是转换文件名.虽然可以使用其他格式输入,但这种格式最常用.

字符范围:
[a-z] a-z内的字符组成的字符串.
[A-Z] A-Z内的字符组成的字符串.
[0-9] 数字串.
\octal 一个三位的八进制数,对应有效的ASCII字符.
[O*n] 表示字符O重复出现指定次数n.因此[O*2]匹配OO的字符串.
注:使用以上字符的时候放在""中,以免出现如下类似错误
[root@kumu ~]# tr -d [a-z] <test.txt
tr: 额外的操作数 “d”
请尝试执行“tr --help”来获取更多信息.

tr中特定控制字符的不同表达方式
速记符含义八进制方式
\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@kumu ~]# cat kumu.txt
facebook
FACEBOOK
aaaaaaaa
11111111
33333333
[root@kumu ~]# tr -s "[a-z]"<kumu.txt //去重,去掉重复的小写字母
facebok
FACEBOOK
a
11111111
33333333
[root@kumu ~]# tr -s "[a-z][A-Z]"<kumu.txt //去重,去大小写重复字母
facebok
FACEBOK
a
11111111
33333333
[root@kumu ~]# tr -s "[a-z][A-Z][0-9]"<kumu.txt //去重大小写和数字 拥有帝国一切,皆有可能。欢迎访问phome.net
facebok
FACEBOK
a
1
3
[root@kumu ~]#

[root@kumu ~]# cat test.txt
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
[root@kumu ~]# tr -d : <test.txt //删除指定字符:
rootx00root/root/bin/bash
binx11bin/bin/sbin/nologin
[root@kumu ~]# tr -d ":/" <test.txt //删除指定字符:和/
rootx00rootrootbinbash
binx11binbinsbinnologin
[root@kumu ~]# tr -d "[a-z]" <test.txt
::0:0::/://
::1:1::/://
[root@kumu ~]# tr -d -c "[a-z]" <test.txt //-c参数取补集,删除非小写字母
rootxrootrootbinbashbinxbinbinsbinnologin[root@kumu ~]#

[root@kumu ~]# cat test.txt
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
[root@kumu ~]# tr ":" "#" <test.txt //:号替换为#
root#x#0#0#root#/root#/bin/bash
bin#x#1#1#bin#/bin#/sbin/nologin
[root@kumu ~]#

tr联合其它命令求和:
[root@kumu ~]# seq 20 30 | xargs | tr " " " " | bc
275
[root@kumu ~]#

本文出自 “枯木的Linux博客” 博客,请务必保留此出处http://kumu1988.blog.51cto.com/4075018/755362

拥有帝国一切,皆有可能。欢迎访问phome.net

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号