【shell】tr命令及常见用法

来源:互联网 发布:铁三角msr7煲机 知乎 编辑:程序博客网 时间:2024/06/08 08:35
【背景】
tr命令被称为translate,可以用来对一段文本进行替换、删除、压缩重复字符等,是一款简单小巧的工具。

【命令格式】
tr [option] set1 [set2]
注意tr命令只接受标准输入,而无法通过命令行参数来接收输入。

【常见用法】
1.删除字符串中的数字
echo hello world 123 | tr -d '0-9'hello world 
上述例子删除了字符串中的数字,使用-d选项后面接一个字符集表示将输入的文本删除掉字符集中的字符。

2.表示补集
echo hello world 123 | tr -d -c '0-9'123
上述例子删除了除数字之外的所有字符,使用了-c选项表示取反。

3.压缩字符
echo hello    world | tr -s ' 'hello world
上述例子的hello和world之间有多个空格,使用-s选项加上空格参数表示将多个空格压缩为单个,最终输出的hello和world之间就只剩一个空格了。

4.替换字符
cho hello world | tr [a-zA-Z] [n-za-mN-ZA-M]uryyb jbeyq
上述例子实现了rot13加密算法,这个算法简单地将英文字母后移13位。可见,利用tr可以将一个集合的字符转换为另一个集合的字符。