欢迎来到天天文库
浏览记录
ID:34528528
大小:190.64 KB
页数:5页
时间:2019-03-07
《linux与unix shell编程指南012》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、下载第12章tr用法12.1关于trtr用来从标准输入中通过替换或删除操作进行字符转换。tr主要用于删除文件中控制字符或进行字符转换。使用tr时要转换两个字符串:字符串1用于查询,字符串2用于处理各种转换。tr刚执行时,字符串1中的字符被映射到字符串2中的字符,然后转换操作开始。本章内容有:¥大小写转换。¥去除控制字符。¥删除空行。带有最常用选项的tr命令格式为:tr-c-d-s["string1_to_translate_from"]["string2_to_translate_to"]input_file这里:-c用字符串1中字符集的补集替换此字符
2、集,要求字符集为ASCII。-d删除字符串1中所有输入字符。-s删除所有重复出现字符序列,只保留第一个;即将重复出现字符串压缩为一个字符串。Input-file是转换文件名。虽然可以使用其他格式输入,但这种格式最常用。12.1.1字符范围使用tr时,可以指定字符串列表或范围作为形成字符串的模式。这看起来很像正则表达式,但实际上不是。指定字符串1或字符串2的内容时,只能使用单字符或字符串范围或列表。[a-z]a-z内的字符组成的字符串。[A-Z]A-Z内的字符组成的字符串。[0-9]数字串。/octal一个三位的八进制数,对应有效的ASCII字符。[O*
3、n]表示字符O重复出现指定次数n。因此[O*2]匹配OO的字符串。大部分tr变种支持字符类和速记控制字符。字符类格式为[:class],包含数字、希腊字母、空行、小写、大写、cntrl键、空格、点记符、图形等等。表12-1包括最常用的控制字符的速记方式及三位八进制引用方式。当用一个单字符替换一个字符串或字符范围时,注意字符并不放在方括号里([])。一些系统也可以使用方括号,例如可以写成[“ 12”]或“ 12”,tr也允许不加引号,因此命令中看到单引号而不是双引号时也不要感到奇怪。像大多数系统工具一样,tr也受特定字符的影响。因此如果要匹配这些字符
4、,需使用反斜120第二部分文本过滤下载线屏蔽其特殊含义。例如,用{指定花括号左边可以屏蔽其特殊含义。表12-1tr中特定控制字符的不同表达方式速记符含义八进制方式aCtrl-G铃声 07bCtrl-H退格符 10fCtrl-L走行换页 14Ctrl-J新行 12rCtrl-M回车 15tCtrl-Itab键 11vCtrl-X 3012.1.2保存输出要保存输出结果,需将之重定向到一个文件。下面的例子重定向输出到文件results.txt。输入文件是cops.txt。现在看一些例子。12.1.3去除重复出现的字符下面文件
5、包含了一些打印错误。这种情况时常发生,例如在vi编辑器中,偶尔按住一个键不放。如果要去除重复字母或将其压缩在一起,使用-s选项。因为都是字母,故使用[a-z]。输入文件重定向到tr命令。所有重复字符被压缩成一个。如果使用cat命令,再将结果管道输出至tr,结果是一样的。12.1.4删除空行要删除空行,可将之剔出文件。下面是一个文件plane.txt。文本间有许多空行。第12章tr用法121下载使用-s来做这项工作。换行的八进制表示为 12,命令为:也可以使用换行速记方式,这里用单引号(通常用双引号)。12.1.5大写到小写除了删除控制字符,转换大
6、小写是tr最常用的功能。为此需指定即将转换的小写字符[a-z]和转换结果[A-Z]。第一个例子,tr从一个包含大小写字母的字符串中接受输入。同样,也可以使用字符类[:lower:]和[:upper:]。将文本文件大写转换为小写并输出至一个新文件,格式为:这里file-to-translate保存即将转换的文件,new-file-name为保存结果的新文件名。例如:12.1.6小写到大写转换小写到大写与上一节大写到小写过程刚好相反。以下有两个例子:将文本文件从小写转换为大写并将结果存入一个新文件,格式为:file-to-translate保存即将转换的文
7、件,new-file-name保存结果文件,例如:12.1.7删除指定字符偶尔会从下载文件中删除只包含字母或数字的列。需要结合使用-c和-s选项完成此功能。下面的文件包含一个星期的日程表。任务是从其中删除所有数字,只保留日期。日期有大写,也有小写格式。因此需指定两个字符范围[a-z]和[A-Z],命令tr-cs"[a-z][A-Z]""[ 12*]"将122第二部分文本过滤下载文件每行所有不包含在[a-z]或[A-Z](所有希腊字母)的字符串放在字符串1中并转换为一新行。-s选项表明压缩所有新行,-c表明保留所有字母不动。原文件如下,后跟tr命令:1
8、2.1.8转换控制字符tr的第一个功能就是转换控制字符,特别是从dos向UNIX下载文件时,忘
此文档下载收益归作者所有