tr
(translate)是Linux系统中一个非常实用的命令行工具,主要用于字符转换或删除操作。它从标准输入读取数据,执行指定的转换处理,并将结果输出到标准输出。tr
命令的主要功能包括但不限于大小写转换、删除特定字符、压缩重复字符等。
功能与特性
- 字符替换:可以将一组字符替换成另一组字符。例如,将所有的小写字母转换成大写字母。
- 字符删除:可以从输入流中删除指定的字符集。
- 字符压缩:可以缩减连续重复出现的字符为单个字符。
- 字符补集:能够处理不属于指定字符集的所有字符。
- 支持正则表达式风格的字符类:如
[:lower:]
表示所有小写字母,[:digit:]
表示所有数字等,使得字符集定义更加灵活。
使用方法
命令格式
tr [选项] SET1 [SET2]
- 选项:用于调整
tr
的行为,比如是否使用字符集的补集、是否删除字符等。 - SET1 和 SET2:分别是源字符集和目标字符集。当只提供了
SET1
时,通常意味着要删除这些字符;如果同时提供了SET1
和SET2
,则表示进行字符替换。
常用选项
以下是一些常用的 tr
选项及其功能:
-c
或--complement
:对SET1
取反,即处理不在SET1
中的字符。-d
或--delete
:删除SET1
中的所有字符。-s
或--squeeze-repeats
:把连续重复的字符压缩成单独一个字符。-t
或--truncate-set1
:当SET1
比S