tr命令被称为translate,可以用来对一段文本进行替换、删除、压缩重复字符等,是一款简单小巧的工具。
【命令格式】
tr [option] set1 [set2]
注意tr命令只接受标准输入,而无法通过命令行参数来接收输入。
【常见用法】
1.删除字符串中的数字
echo hello world 123 | tr -d '0-9'上述例子删除了字符串中的数字,使用-d选项后面接一个字符集表示将输入的文本删除掉字符集中的字符。
hello world
2.表示补集
echo hello world 123 | tr -d -c '0-9'上述例子删除了除数字之外的所有字符,使用了-c选项表示取反。
123
3.压缩字符
echo hello world | tr -s ' '上述例子的hello和world之间有多个空格,使用-s选项加上空格参数表示将多个空格压缩为单个,最终输出的hello和world之间就只剩一个空格了。
hello world
4.替换字符
cho hello world | tr [a-zA-Z] [n-za-mN-ZA-M]上述例子实现了rot13加密算法,这个算法简单地将英文字母后移13位。可见,利用tr可以将一个集合的字符转换为另一个集合的字符。
uryyb jbeyq