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

一、命令简介

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​ 命令通常是用来处理文本数据,对于二进制数据的处理可能会导致意料之外的结果。
  • 如果要保存处理的结果,只需要将输出重定位到文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值