tr:字符转换、去重与删除

用 tr 在 Linux 上做大小写转换、压缩重复字符、删除回车符等字符级处理。

Linuxtr 字符替换文本编码低风险
用管道把文本传给 tr 'a-z' 'A-Z' 转大写,tr -s ' ' 压缩连续空格,tr -d '\r' 删除指定字符。

01命令

命令
$ tr '[:upper:]' '[:lower:]' < input.txt && tr -s ' ' < data.txt && tr -d '\r' < win.txt

02作用说明

tr 只处理单个字符:集合 1 按位置映射到集合 2,所以 [:upper:] 到 [:lower:] 是受区域设置安全的大小写转换,A-Z 范围则是快捷写法。-d 直接删除列出的字符,-s 把连续相同字符压成一个——清理日志里稀疏的空格非常方便。由于它只读标准输入,tr 总是在管道中使用或配合重定向。

03风险

风险低风险
!注意: tr 不能按名字处理文件——它不接受文件名参数,只读 stdin;字符串级别的替换请用 sed。

04撤销

✓无需撤销——该命令不会改变持久状态。

05来源

  • tr(1P) — POSIX manual page
    man7.org · technical · 2026-09-17
    依据: POSIX defines character-class translation, -d and -s for tr
  • tr(1) — Arch Linux manual
    Arch Linux · technical · 2026-09-17
    依据: Documents SET1/SET2 translation, -d delete, -s squeeze repeats, and [:upper:]/[:lower:] classes

最后验证: 2026-09-17 · 分类: 文件与文件夹

06相关方案