在 Linux 系统中,尤其是 Ubuntu 这样的发行版里,tr 命令是一个非常轻量但功能强大的工具,用于对标准输入中的字符进行替换、压缩或删除。无论你是系统管理员、开发人员,还是刚接触命令行的新手,掌握 tr 命令都能极大提升你在终端中处理文本的效率。

tr 是 “translate” 或 “transpose” 的缩写,它从标准输入读取数据,并根据指定规则对字符进行操作,然后将结果输出到标准输出。它不能直接修改文件,但可以配合重定向或管道与其他命令协同工作。
核心语法如下:
tr [选项] SET1 [SET2]其中 SET1 和 SET2 是字符集。例如,将小写字母转为大写:
echo "hello world" | tr 'a-z' 'A-Z'# 输出:HELLO WORLD这是 tr 最常见的用途:将一个字符集中的每个字符替换成另一个字符集中对应位置的字符。
# 小写转大写$ echo "ubuntu tr命令" | tr 'a-z' 'A-Z'UBUNTU TR命令# 大写转小写(注意:中文不受影响)$ echo "HELLO WORLD" | tr 'A-Z' 'a-z'hello world# 将数字 0-9 替换为 !@#$%^&*()$ echo "12345" | tr '0-9' '!@#$%^&*()'@#$%^注意:SET1和SET2的长度必须一致,否则行为可能不符合预期。
使用 -d 选项可以删除指定字符集中的所有字符。
$ echo "abc123def456" | tr -d '0-9'abcdef$ echo -e "line1\nline2\nline3" | tr -d '\n'line1line2line3你也可以删除空格、制表符等:
# 删除所有空格$ echo "a b c d" | tr -d ' 'abcd-d:删除 SET1 中指定的字符(不需 SET2)-s:压缩重复字符(squeeze),将连续重复的字符替换为单个字符-c:取反(complement),对 SET1 中未包含的字符进行操作$ echo "a b c" | tr -s ' 'a b c# 保留字母,删除其他所有字符$ echo "Hello, World! 123" | tr -cd 'a-zA-Z'HelloWorld1. 日志清理:从日志中提取纯字母内容。
2. 密码生成:过滤掉特殊字符或数字。
3. 数据预处理:在脚本中清洗用户输入。
例如,将文件中的所有逗号替换为竖线:
cat data.csv | tr ',' '|' > new_data.txttr 命令虽小,却是 Linux文本处理 工具链中不可或缺的一环。通过本文的学习,你应该已经掌握了如何在 Ubuntu 中使用 tr 进行字符替换和字符删除。记住,它总是作用于字符级别,且需要配合管道或重定向使用。
继续练习这些示例,你将能更高效地在终端中处理各种文本任务!
关键词回顾:Ubuntu tr命令、字符替换、字符删除、Linux文本处理
本文由主机测评网于2025-12-14发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://vpshk.cn/2025127471.html