免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1855 | 回复: 0
打印 上一主题 下一主题

Shell编程学习摘录六- tr 用法 [复制链接]

论坛徽章:
1
丑牛
日期:2014-05-22 15:38:58
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-08-21 21:19 |只看该作者 |倒序浏览


    tr 用来从标准输入中通过替换或删除操作进行字符转换.tr主要用于删除文件中控制字符或进行字符转换.使用tr时要转换两个字符串:字符串1用于查询,字符串2用于处理各种转换.tr刚执行时,字符串1中的字符被映射到字符串2中的字符,然后转换操作开始.
一般格式:tr -c -d -s ["string1_to_translate_from"] ["string2_to_triampsulata_te_to"]
-c:用字符串1中字符集的补集替换此字符,要求字符集为ASCII
-d:删除字符串1中所有输入字符
-s:删除所有重复出现字符序列,只保留一个,即将重复出现字符串压缩为一个字符串
12.1 字符范围:
[a-z]:a-z内的字符组成的字符串
[A-Z]:A-Z内的字符组成的字符串
[0-9]:数字串
/octal:一个三位的八进制数,对应有效的ASCII字符
[O*n]:表示字符O重复出现指定次数n,例[O*2]表示匹配[OO]字符串
12.2 保存输出
要保存输出结果,需将之重定向到一个文件.例:重定向输出到文件results.txt,输入文件是cops.txt:
$tr -s "[a-z]"results.txt
12.3 去除重复出现的字符
$more cops.txt
And the cowwwwws went homeeeeeeee
Or did theyyyy
如果要去除重复字符或将其压缩在一起,可以使用-s选项,因为都是字母,故使用[a-z]:
$tr -s "[a-z]" stat.tmp
Boxes paper 12^M
Clips metal 50^M
Pencils-medium 10^M
^Z
用新行替换每行末尾的^M,并用\n去除^Z,输入文件来自stat.tmp:
$tr -s "[\015\032]" "\n"

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/2937/showart_364891.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP