欢迎登陆真网站,您的到来是我们的荣幸。 登陆 注册 忘记密码? ☆设为首页 △加入收藏
欢迎加入真幸福QQ群
电脑知识: 基础知识 网络技术 操作系统 办公软件 电脑维修 电脑安全 windows7 windows8 windows10 服务器教程 平板电脑 视频播放教程 网络应用 互联网 工具软件 浏览器教程 QQ技巧 输入法教程 影视制作 YY教程 wps教程 word教程 Excel教程 PowerPoint
云南西双版纳特产小花糯玉米真空包装


Linux中使用cut命令来提取文本的用法指南
解决Vista操作系统还原后占内存的问题
Vista系统下复制文件提速
Windows Vista共享文件夹
b站大会员有什么用? 怎么获得?
Win键组合键在vista中用法
解决Vista操作系统还原后占内存的问题
Vista系统下复制文件提速
Vista系统开始菜单命令提示
ipad墙纸尺寸多少
Linux系统中强大的文本操作命令tr的使用讲解
【 来源:网络 】【 点击:5 】 【 发布时间:2017_03_03 08:59:59 】

   tr 转换,压缩,截短,删除字符

  tr [option].....set1 [set2]

  参数:

  -d,--delete

  删除字符串1中的字符,不进行转换。

  -s,--squeeze-repeats

  将重复出现字符串压缩为一个字符串。

  -t,--truncate-set1

  将字符串1的长度截成字符串2的长度。

  -c,--complement

  取字符串1的补集。要求字符集为ASCII。

  --help 打印帮助。

  --version 显示版主信息。

  转义字符如下:

  NNN 字符的八进制码

   反斜线

  a BELL响铃

  b 空格

  c 不打印新行符

  n 新行

  r 回车

  t 横向跳格

  v 坚向跳格

  字符模式:

  CHAR1-CHAR2 表示从字符CHAR1到CHAR2.如a-z,A-Z...

  [CHAR*] 表示一个或连续几个CHAR。

  [CHAR*REPEAT] 表示REPEAT个数个CHAR。

  [:alnum:] 表示所有字母和数字。

  [:alpha:] 表示所有字母。

  [:blank:] 表示横向空格。

  [:cntrl:] 表示控制字符。

  [:digit:] 表示所有数字。

  [:graph:] 表示可打印字符,不包括空格。

  [:lower:] 表示小写字母。

  [:upper:] 表示大写字母。

  [:print:] 表示可打印字符,包括空格。

  [:xdigit:] 表示十六进制数字。

  [=CHAR=] 表示CHAR

  例子:

  (1)去除oops.txt里面的重复的小写字符

  代码如下:

  tr -s "[a-z]"result.txt

  (2)删除空行

  代码如下:

  tr -s "[12]" < plan.txt 或 tr -s ["n"] < plan.txt

  (3)有时需要删除文件中的^M,并代之以换行

  代码如下:

  tr -s "[15]" "[n]" < file 或 tr -s "[r]" "[n]" < file

  (4)大写到小写

  代码如下:

  cat a.txt |tr "[a-z]" "[A-Z]" >b.txt

  (5)删除指定字符

  一个星期的日程表。任务是从其中删除所有数字,只保留日期。日期有大写,也有小写格式。因此需指定两个字符范围[a-z]和[A-Z],命令tr -cs "[a-z][A-Z]" "[12*]" 将文件每行所有不包含在[a-z]或[A-Z](所有希腊字母)的字符串放在字符串1中并转换为一新行。-s选项表明压缩所有新行, -c表明保留所有字母不动。原文件如下,后跟tr命令:

  代码如下:

  tr -cs "[a-z][A-Z]" "[12*]"

  (6)转换控制字符

  tr的第一个功能就是转换控制字符,特别是从dos向UNIX下载文件时,忘记设置ftp关于回车换行转换的选项时更是如此。cat -v filename 显示控制字符。

  代码如下:

  cat -v stat.txt

  box aa^^^^^12^M

  apple bbas^^^^23^M

  ^Z

  猜想『^ ^ ^ ^ ^ ^』是tab键。每一行以Ctrl-M结尾,文件结尾Ctrl-Z,以下是改动方法。

  使用-s选项,查看ASCII表。^的八进制代码是136,^M是015,tab键是011,^Z是032 ,下面将按步骤完成最终功能。

  用tab键替换^ ^ ^ ^ ^ ^,命令为"136" "[11*]"。将结果重定向到临时工作文件stat.tmp

  代码如下:

  tr -s "[136]" "[11*]" stat.tmp

  用新行替换每行末尾的^M,并用n去除^Z,输入要来自于临时工作文件stat.tmp。

  代码如下:

  tr -s "[15][32]" "n"

  要删除所有的tab键,代之以空格,使用命令

  代码如下:

  tr -s "[11]" "[40*]"

  (7)替换passwd文件中所有冒号,代之以tab键,可以增加可读性

  代码如下:

  tr -s "[:]" "[11]" < /etc/passwd 或 tr -s "[:]" "[t]" < /etc/passwd

  (8)使路径具有可读性

  如果用 echo $PATH 或者 echo $LD_LIBRARY_PATH 等类似的命令来显示路径信息的话,我们看到的将会是一大堆用冒号连接在一起的路径, tr命令可以把这些冒号转换为回车,这样,这些路径就具有很好的可读性了

  代码如下:

  echo $PATH | tr ":" "n"

  (9)可以在vi内使用所有这些命令!只要记住:在tr命令前要加上您希望处理的行范围和感叹号 (!),如 1,$!tr -d 't'(美元符号表示最后一行)。

本网站由川南居提供技术支持,fkzxf版权所有 浙ICP备12031891号
淳安分站 淳安分站