- 论坛徽章:
- 0
|
本帖最后由 j3kljs02398j 于 2011-09-07 13:10 编辑
tr command
TABLE
1.用途
2.语法
3.主要选项
4.SET1/SET2字符集合的书写形式字
4.1 特殊字符
4.3SET2的重复形式
4.4 类字符集合
4.5 等价类字符集合
5. 使用详解
5.1 转换字符
5.2 压缩重复字符,删除
5.3 应用举例
6. 参考文档
1.用途
转换,压缩,删除字符
2.语法
tr [OPTIONP]... SET1 [SET2]
3.主要选项
-c, -C, --complement
使用SET1的补集合
-d, --delete
删除SET1中的字符,不做转换
-s, --squeeze-repeats
压缩重复的字符为单一字符。
4.SET1/SET2字符集合的书写形式字
4.1 特殊字符
\n 换行
\r 回车
\t tab
\\ \
4.2范围
'M-N'
从M到N递增的所有字符
'[M-N]'
GNU tr 的语法。但是常常会错误,因为tr会把[]同时当作字符集处理。
4.3SET2的重复形式
'[C*n]'
n个C
'[C*]'
和SET1中一样多的C
4.4 类字符集合
'[:CLASS:]'
alnum
alpha
blank
cntrl
digit
graph
lower
upper
print
space
xdigit
4.5 等价类字符集合
[=c=] 所有与c等价的字符类
5. 使用详解
5.1 转换字符
将标准输入的字符且出现在SET1中的每个字符转换成SET2中相应的字符。如果SET1中字符重复,SET2中字符不都一样,那么SET2中最后一个字符有效。
tr 333 124
tr 3 4
两者等价
SET1与SET2长度应该相同。如果SET1长度大于SET2,结果未定。如果SET1长度小于SET2,则SET2尾部截断。
5.2 压缩重复字符,删除
当只有-d选项的时候,删除SET1中出现的字符
当只有-s选项的时候,压缩标准输入中出现在SET1中的重复字符为一个
-d于-s同时的时候,tr首先用SET1进行删除操作,然后用SET2做压缩行为。
5.3 应用举例
*转换,可选择性压缩重复字符
1 将小写字母转换成大写- tr '[:lower:]' '[:upper:]'
复制代码 2 将abc一次转换成bcd,转换后的结果去重
echo aaabbbccc |tr -s abc bcd
*压缩重复字符
1.对于连续的空行保留一个*删除字符
1 删除!*删除字符,然后压缩重复性字符
1.删除!,然后压缩字母词频统计简单实现- tr -sc [:alpha:]\' '\n' |tr '[:upper:]' '[:lower:]' |sort |uniq -c |sort -k 1nr -k 2d
复制代码 6 参考文档
'info tr'
'man tr'
link:http://blog.chinaunix.net/space. ... blog&id=2684164 |
|