tr 是 Linux 和 Unix 系统中的命令行实用程序,用于转换,删除和挤压标准输入中的字符,并将结果写入标准输出。
该 tr 命令通常通过管道与其他命令结合使用,可以执行删除重复字符,将大写转换为小写,以及替换和删除基本字符等操作。
在下面的示例中, tr 将 linuxidc 通过将第一个集合中的字符与第二个集合中的匹配元素进行映射来替换标准输入中的所有字符。
您可能已经注意到输出比输入多了一个字符。这是因为该 echo 命令打印了一个不可见换行符 \n 也被替换为 y 。要在没有新行的情况下回显字符串,请使用该 -n 选项。
以下命令将删除 SET1 中指定的所有字符。在不挤压的情况下删除字符时,只能指定一个字符集。
在 -s(--squeeze-repeats) 选项替换重复出现的字符集。在以下示例 tr 中将删除重复的空格字符:
默认情况下,如果 SET1 大于 SET2 tr 将重用 SET2 的最后一个字符。这是一个例子:
该 tr 命令还允许您组合使用选项。例如,下面的命令将替换所有字符除了 i 用 0 ,然后它会挤压重复 0 字符:
将小写转换为大写或大写转为小写是 tr 命令的典型用例之一。 [:lower:] 匹配所有小写字符, [:upper:] 匹配所有大写字符。
[:digit:] 代表所有数字字符,通过使用该 -c 选项,该命令将删除所有非数字字符。输出将如下所示:
在上面的命令中,我们使用重定向符号将命令 的内容作为输入传递 file.txt 给 tr 命令。重定向 将命令的输出写入 new_file.txt 。
该 $PATH 环境变量是一个冒号分隔的列表,告诉 SHELL 当你输入一个命令时可以在哪些目录来搜索可执行文件。
到目前为止,您应该很好地理解如何使用 Linux tr 命令。虽然非常有用, tr 但只能使用单个字符。对于更复杂的模式匹配和字符串操作,您应该使用 sed 或 awk 。
本站(LinuxIDC)所刊载文章不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。

