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

还可以通过指定解释字符串来删除一组字符。例如,通过指定序列 [:d igit:] 删除所有数字

$ 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 文本编辑器,以进一步增强您的知识和经验。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Linux tr 命令用于转换或删除文件中的字符。 tr 指令从标准输入设备读取数据,经过字符串转译后,将结果输出...
    姜淑均阅读 1,275评论 0 1
  • 概述 使用tr命令可以对输入的字符串的字符进行替换、压缩和删除(使用-d选项),需要注意的是,每个替换行为是根据原...
    飒璞阅读 808评论 0 1
  • 功能 转换或者删除字符。 描述 tr 指令从标准输入设备读取数据,经过字符串转译后,输出到标准输出设备。 通过使用...
    QuietHeart阅读 288评论 0 4
  • cat命令 很多时候我们通过cat命令来查看文件内容,它会将文件的所有内容显示出来。当然,cat也可以通过管道接收...
    keysaim阅读 1,044评论 0 1
  • 1.用cat进行拼接 打印文件内容 将文件内容和stdin拼接在一起 去掉多余的空白行 将制表符显示为^I 行号 ...
    王侦阅读 474评论 0 0

友情链接更多精彩内容