在 RockyLinux 系统中,
tr命令是一个非常轻量但功能强大的文本处理工具。它主要用于字符替换(translation)和字符删除(deletion),非常适合处理纯文本流。无论你是系统管理员、开发人员,还是刚接触 Linux 的新手,掌握
tr命令都能显著提升你的文本处理效率。

一、什么是 tr 命令?
tr是 “translate” 或 “transpose” 的缩写,它从标准输入读取数据,并将结果输出到标准输出。它不能直接编辑文件,但可以配合管道(
|)或重定向(
>)来实现对文件的处理。
基本语法如下:
tr [选项] SET1 [SET2]
其中:
SET1:要被替换或删除的字符集合
SET2:用于替换的字符集合(仅在替换操作时使用)
-d:删除模式(delete),只保留
SET1中指定要删除的字符
-s:压缩重复字符(squeeze)
二、字符替换(Translation)
最常用的场景是大小写转换。例如,将小写字母全部转为大写:
echo "hello world" | tr 'a-z' 'A-Z'
输出结果:
HELLO WORLD
这里,
'a-z'是源字符集,
'A-Z'是目标字符集,
tr会将每个小写字母一一对应地替换成大写字母。
你也可以进行自定义替换,比如将数字 1~5 替换为字母 a~e:
echo "12345" | tr '12345' 'abcde'
输出:
abcde
三、字符删除(Deletion)
使用
-d选项可以删除指定字符。例如,删除字符串中的所有空格:
echo "hello world" | tr -d ' '
输出:
helloworld
再比如,删除所有数字:
echo "abc123def456" | tr -d '0-9'
输出:
abcdef
四、结合其他命令使用
在实际工作中,
tr常与
cat、
grep、
sort等命令配合使用。例如,清理一个日志文件中的特殊字符并转为小写:
cat logfile.txt | tr -d '[:punct:]' | tr 'A-Z' 'a-z' > clean_log.txt
说明:
[:punct:]是 POSIX 字符类,代表所有标点符号 第一个
tr删除所有标点 第二个
tr将大写转为小写 结果重定向到
clean_log.txt
五、常见注意事项
tr只能处理单字节字符(在 UTF-8 环境下需谨慎处理中文等多字节字符) 两个字符集长度不一致时,
tr会将较短集合的最后一个字符重复使用 若需处理文件,必须通过管道或重定向,
tr不支持直接传入文件名作为参数
六、总结
通过本文,你已经掌握了在 RockyLinux 中使用
tr命令进行字符替换和字符删除的基本方法。这项技能是 Linux文本处理 的基础之一,配合其他命令可完成复杂的文本清洗任务。
记住关键词:RockyLinux tr命令、字符替换、字符删除、Linux文本处理。多加练习,你很快就能熟练运用这个小巧而强大的工具!
