一、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