首页/系统/Linux 运维命令速查/tr 字符替换与删除
本包目录(613 条)
文件与目录76 条
文本处理77 条
网络命令82 条进程与作业69 条磁盘与文件系统51 条用户与权限44 条日志与排查40 条systemd 与服务42 条包管理34 条性能与监控48 条定时任务与计划50 条

tr 字符替换与删除

字符级转换器:大小写互转、删空白、压缩重复字符、清理 CRLF;只能处理单个字符,不能替换字符串。

Linux 运维命令速查系统更新于 2026-10-12
用途字符集替换/删除/压缩
语法tr [选项] 集合1 [集合2]
选项-d 删除 -s 压缩 -c 取补集

常用示例

常用示例
tr 'a-z' 'A-Z' < file            # 小写转大写
tr -d '\r' < win.txt > unix.txt  # 清掉 CRLF 的 \r
tr -s ' ' < messy.txt            # 连续空格压成一个
tr -cs '[:alnum:]' '\n' < doc | sort | uniq -c | sort -rn | head   # 词频
tr 只认字符集:想替换「字符串」得用 sed/awk;处理 \r 与 [ 等特殊字符注意转义写法。

易错点

  • tr 不接收文件名参数,只能走标准输入:tr ... < file 或管道,写 tr file 会直接读键盘
  • 集合是位置对应的:第二个集合短于第一个会重复最后一个字符——'a-z' 转 'A-Z' 没问题,乱写会得到意外结果

数据来源与参考

  • man 1 tr(GNU coreutils 手册)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌