- 论坛徽章:
- 1
|
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 |
|