Linux tr 命令
介绍
tr(翻译) 命令是一个 Linux 实用程序,允许您对文本输入执行各种转换。无论您需要更改大小写、删除重复字符、删除字符、设置补码还是删除换行符,tr 都可以处理。在本文中,我们将探讨 tr 命令可用的各种选项,并向您展示如何使用它们来转换文本。
tr 命令的语法
‘tr’命令的基本语法如下 -
$ tr SET1 SET2 < inputfile
其中 -
SET1是一组字符,将被SET2中的相应字符替换。
SET2 是替换 SET1 中相应字符的一组字符。
input file是要处理的输入文件,可以省略,用STDIN(标准输入)的输入代替。
请注意,“SET1”和“SET2”中的字符可以通过多种方式指定,包括单个字符、字符范围和用于翻译的特殊字符。还可以用八进制或十六进制表示法指定字符。
例如,tr命令将输入字符串“Hello World”中的大写字符替换为其等效的小写字符。 SET1 中的字符指定为‘H’,SET2 中的字符指定为‘Y’。
$ echo "Hello World" | tr H Y
Yello world
Linux 中使用 tr 命令更改字符大小写
tr 可用于通过三种不同的方式更改输入文本的大小写:通过指定要转换的确切字符,通过指定字符范围 进行转换,并通过指定解释字符串。
为 tr 命令指定确切的字符
使用此选项,您可以指定要转换输入文本的哪些字符。 tr命令将SET1中的字符替换为SET2中的字符。例如 -
$ echo "Hello World" | tr [A-Z] [a-z]
hello world
使用 tr 更改字符大小写的另一种方法是指定字符范围。这允许tr更改指定范围内任何字符的大小写。以下示例显示如何将大写字符转换为小写 -
$ echo "Hello World" | tr [A-Z] [a-z]
hello world
为 tr 命令指定字符范围
通过指定解释序列来匹配和转换字符。例如,小写字符序列为 [:lower:] ,大写字符序列为[:upper:]。指定这两个序列告诉 tr 比较并转换字符的大小写 -
$ echo "HELLO WORLD" | tr [:upper:] [:lower:]
hello world
Linux 中使用 tr 命令删除重复字符
tr 的 ‘-s’ 选项对于将重复字符压缩到单个实例中非常有用。当将空格转换为制表符或换行符字符并且输入文本包含多个连续空格时,此选项特别有用。例如,以下输入包含多个空格 -
$ echo "Hello World"
Hello World
将这些空格转换为制表符大致会导致 -
$ echo "Hello World" | tr ' ' '\t'
Hello World
为了避免输出中出现多个制表符和空格,您可以使用 -s 选项 -
$ echo "Hello World" | tr -s ' ' '\t'
Hello World
Linux中使用tr命令删除字符
使用 -d 选项从输入中删除特定字符。在以下示例中, tr 删除字符 e 的每个实例 -
$ echo "Hello World" | tr -d 'e'
Hllo World
您还可以通过指定解释字符串来删除一组字符。例如,通过指定序列 [:digit:] 删除所有数字 -
$ echo "Hello 123 World" | tr -d [:digit:]
Hello World
补集
使用‘-c’选项来补全SET1中的字符。这意味着不在指定集中的所有字符都将被删除。在下面的示例中,我们删除除数字之外的所有字符 -
$ echo "Hello 123 World" | tr -c [:digit:]
123
在 Linux 中使用 tr 命令删除变音符号
变音符号是添加到字母上的符号,例如重音符号,可以改变字母的发音。序列 [=CHAR=] 可用于匹配与指定字符等效的所有字符。这对于删除字符中的变音符号很有用。
例如,以下命令使用 tr 删除字符中的变音符号 -
$ echo "résumé" | tr -d '[=e=]'
rsum
在 Linux 中使用 tr 命令单独打印每个单词
有时,逐行打印文件的内容(在这种情况下逐字打印)可能很有用。 tr 命令可用于通过使用-c选项并用换行符替换非字母数字字符来完成此操作。
这是如何单独打印文件的每个单词的示例 -
$ cat file.txt | tr -c '[:alnum:]
' '[
*]'
结论
总之,tr 命令是一个在 Linux 上转换文本的多功能且强大的工具。它允许您执行各种操作,例如切换大小写、删除重复字符、删除字符、补充集、删除换行符、重定向输入、截断集、删除变音符号、单独打印每个单词并将输出保存在文件中。 。本教程通过实际示例演示了这些功能,让您清楚地了解如何使用 tr 命令。无论您是新手还是高级 Linux 用户,这个工具因其多种用途绝对值得探索。查看其他 Linux 文本实用程序,例如排序命令、无寻呼机终端或最佳 Linux 文本编辑器,以进一步增强您的知识和经验。