免费注册 查看新帖 |

Chinaunix

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

tr 用法 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-11-19 15:05 |只看该作者 |倒序浏览
====================tr 用法==========================
1、关于tr
  tr用来从标准输入中通过替换或删除操作进行字符转换。t r主要用于删除文件中控制字符
或进行字符转换。
带有最常用选项的tr命令格式为:
tr - c - d - s [ " s t r i n g 1 _ t o _ t r a n s l a t e _ f r o m " ] [ " s t r i n g 2 _ t o _ t riannpsulta_t e _ t o " ]
file
这里:
-c 用字符串1中字符集的补集替换此字符集,要求字符集为A S C I I。
-d 删除字符串1中所有输入字符。
-s 删除所有重复出现字符序列,只保留第一个;即将重复出现字符串压缩为一个字符
串。
Input - file是转换文件名。虽然可以使用其他格式输入,但这种格式最常用。
2、字符范围
  指定字符串1或字符串2的内容时,只能使用单字符或字符串范围或列表
  [a-z] a-z内的字符组成的字符串。
  [A-Z] A-Z内的字符组成的字符串。
  [0-9] 数字串。
  /octal 一个三位的八进制数,对应有效的A S C I I字符。
  [O*n] 表示字符O重复出现指定次数n。因此[ O * 2 ]匹配O O的字符串。
    tr中特定控制字符的不同表达方式
   速记符含义八进制方式
   \ a Ctrl-G 铃声\ 0 0 7
   \ b Ctrl-H 退格符\ 0 1 0
   \f Ctrl-L 走行换页\ 0 1 4
   \n Ctrl-J 新行\ 0 1 2
   \ r Ctrl-M 回车\ 0 1 5
   \t Ctrl-I tab键\ 0 11
   \ v Ctrl-X \ 0 3 0
3、例子
  去除oops.txt里面的重复字符
   tr -s "[a-z]"result.txt
  删除空行
   tr -s "[\012]" b.txt
  删除指定字符
   一个星期的日程表。任务是从其中删除所有数字,只保留日期。日期有大
  写,也有小写格式。因此需指定两个字符范围[ a - z ]和[ A - Z ],命令tr -cs "[a-z][A-Z]""[\012*]"将
  文件每行所有不包含在[ a - z ]或[ A - Z ](所有希腊字母)的字符串放在字符串1中并转换为一新
  行。- s选项表明压缩所有新行, - c表明保留所有字母不动。原文件如下,后跟t r命令:
   tr -cs "[a-z][A-Z]" "[\012*]" stat.tmp
用新行替换每行末尾的^ M,并用\ n去除^ Z,输入要来自于临时工作文件stat.tmp。
  tr -s "[\015][\032]" "\n" <stat.tmp
要删除所有的t a b键,代之以空格,使用命令
  tr -s "[\011]" "[\040*]" <input.file
注:都可以用sed 来完成
               
               
               

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

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP