过滤器tr工具

一、tr 简介(translate or delete characters

tr 用来转换(替换或删除)来自标准输入的字符。通过使用 tr,可以非常容易地实现 sed 的许多最基本功能。可以将 tr 看作为 sed 的(极其)简化的变体:用一个字符来替换另一个字符,或者完全除去一些字符,或者除去重复字符。 

注:tr 总是从标准输入获得输入,转换的结果写到标准输出,而原始文件不变

 

二、格式

tr [OPTION]... SET1 [SET2]

 

三、使用举例

1.替换单个字符

tr 'e' 'x' < filename                     #全部 e 字符替换为 x
date | tr ' ' '\n'

2.转换字符范围(本质仍是替换单个字符)

tr '[a-z]' '[A-Z]' < filename             #小写字母替换为大写
tr '()' '{}' < filename                   #括号替换
tr '[a-z]' '[N-ZA-M]' < filename          

3.-s 选项,压缩重复字符

date | tr -s ' ' ' '                       #压缩重复的空格
tr -s '[a-zA-Z]' < filename                #删除重复的字母

 

4.-d 选项,删除输入流中的字符

date | tr -d ' '                           #date | sed 's/ //g'
date | tr -d '[0-9]'              #删除全部数字
date | tr -d '\t\n'

注:tr 只能进行字符的替换、缩减和删除,不能用来替换字符串(可以使用 sed )。


四、其他常用的匹配模式

[:alnum:]  [:alpha:]  [:ascii:]  [:blank:]  [:xdigit:]
[:digit:]  [:lower:]  [:punct:]  [:space:]  [:upper:]
\a  \\  \b  \f  \r  \t  \v
posted @ 2012-04-01 14:30  xiangzi888  阅读(451)  评论(0编辑  收藏  举报