欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

tr 命令:替换文本中的字符

最编程 2024-09-30 07:34:50
...

一、命令简介

tr​ 命令用于转换或删除文件中的字符。它可以从标准输入中读取数据,对数据进行字符替换、删除或压缩,并将结果输出到标准输出。

二、命令参数

格式

tr [选项] [集合1] [集合2]

选项和参数

  • -c​: 指定 集合 1 的补集。
  • -d​: 删除 集合 1 中所有字符。
  • -s​: 压缩 集合 1 中重复的字符。
  • -t​: 指定转换时使用的字符集。
  • -u​: 将 集合 1 中的小写字母转换为大写字母。
  • - ​: 用于指定字符范围,如 [a-z]​ 表示所有小写字母。
  • --help​: 显示帮助信息。
  • --version​: 显示版本信息。

三、命令示例

示例 1:替换字符

将输入中的所有小写字母转换为对应的大写字母。

echo "hello world" | tr 'a-z' 'A-Z'

输出:

HELLO WORLD

示例 2:删除字符

从输入中删除所有数字。

echo "Hello 123 World 456" | tr -d '0-9'

输出:

Hello  World 

示例 3:压缩重复字符

将输入中连续的重复字符压缩为一个字符。

echo "aaabbbccc" | tr -s 'a-z'

输出:

abc

示例 4:使用字符类

删除输入中的所有空白字符(包括空格、制表符和换行符)。

echo -e "Hello   World\n\n" | tr -d '[:space:]'

输出:

HelloWorld

输出比平时少一个换行符

Clip_2024-09-30_00-23-51

示例 5:使用集合操作

删除输入中的所有字母和数字。

echo "你好世界Hello123World" | tr -d '[:alnum:]'

输出:

 你好世界

示例 6:替换集合

将所有小写字母 a​ 替换为大写字母 A​,将所有小写字母 b​ 替换为大写字母 B​。

echo "aabbcc" | tr 'ab' 'AB'

输出:

AABBcc

示例 7:使用文件

将文件 file.txt​ 中的所有小写字母转换为大写字母,并将结果保存到 file.upper.txt​。

tr 'a-z' 'A-Z' < file.txt > file.upper.txt

file.txt 和 file.upper.txt 内容


Hello World.
你好世界。

#file.upper.txt
HELLO WORLD.
你好世界。

这些示例展示了 tr​ 命令的一些基本用法。tr​ 命令非常灵活,可以用于各种文本处理任务。

4.注意事项

  • tr​ 只能在单个字符级别上进行操作,它不支持正则表达式。
  • tr​ 命令是基于字符的,不支持处理多字节字符,因此在处理 Unicode 字符时可能会出现问题。
  • 在使用字符范围时,确保范围的正确性,否则可能产生意外的结果。
  • 注意 tr​ 命令通常是用来处理文本数据,对于二进制数据的处理可能会导致意料之外的结果。
  • 如果要保存处理的结果,只需要将输出重定位到文件。

推荐阅读