tr:字符转换、去重与删除
用 tr 在 Linux 上做大小写转换、压缩重复字符、删除回车符等字符级处理。
用管道把文本传给 tr 'a-z' 'A-Z' 转大写,tr -s ' ' 压缩连续空格,tr -d '\r' 删除指定字符。
01命令
命令
$ tr '[:upper:]' '[:lower:]' < input.txt && tr -s ' ' < data.txt && tr -d '\r' < win.txt02作用说明
tr 只处理单个字符:集合 1 按位置映射到集合 2,所以 [:upper:] 到 [:lower:] 是受区域设置安全的大小写转换,A-Z 范围则是快捷写法。-d 直接删除列出的字符,-s 把连续相同字符压成一个——清理日志里稀疏的空格非常方便。由于它只读标准输入,tr 总是在管道中使用或配合重定向。
03风险
!注意: tr 不能按名字处理文件——它不接受文件名参数,只读 stdin;字符串级别的替换请用 sed。
04撤销
✓无需撤销——该命令不会改变持久状态。
05来源
- tr(1P) — POSIX manual page依据: POSIX defines character-class translation, -d and -s for tr
- tr(1) — Arch Linux manual依据: Documents SET1/SET2 translation, -d delete, -s squeeze repeats, and [:upper:]/[:lower:] classes
最后验证: 2026-09-17 · 分类: 文件与文件夹