当前位置:首页>Linux>99%的 Linux 用户还不会:tr 命令让文本转换快到飞起

99%的 Linux 用户还不会:tr 命令让文本转换快到飞起

  • 2026-09-08 13:36:10
99%的 Linux 用户还不会:tr 命令让文本转换快到飞起
Linux预计阅读 5 分钟 · 共 1812 字

一条tr命令解决文本处理难题

命令行界的“查找-替换”大师

作为 Linux 用户,你是否经常为日志大小写混乱、数据分隔符转换、配置文件批量修改而头疼?不用打开VS Code,也不用写复杂脚本,一条tr命令就能搞定!

CHAPTER 01
01tr是什么?

tr(translate)是Linux里最轻量、最快的文本转换工具之一,被称为 命令行界的“查找-替换”大师。

CHAPTER 02
02基础用法(3 秒上手)
# 1. 小写 → 大写
echo"hello linux tips" | tr'a-z''A-Z'
# 输出:HELLO LINUX TIPS
# 2. 大写 → 小写
echo"HELLO LINUX" | tr'A-Z''a-z'
# 3. 字符替换
echo"a,b,c,d,e" | tr','' '
# 输出:a b c d e
CHAPTER 03
03实战场景(工作中最常用)
01
场景1:日志分析
# 把日志全部转大写方便搜索关键词
cat app.log | tr'a-z''A-Z' | grep ERROR
# 把所有空格替换成换行,方便逐行查看
cat error.log | tr' ''\n'
02
场景2:数据清洗
# CSV 转 TSV(逗号 → 制表符)
cat data.csv | tr',''\t' > data.tsv
# 删除所有数字
echo"user123abc456" | tr -d '0-9'
# 输出:userabc
# 删除所有标点符号
echo"hello, world! nice?" | tr -d '[:punct:]'
03
场景3:文件名批量处理
# 把文件名中的空格替换为下划线
ls * | tr' ''_'
04
场景4:配置与变量处理
# 环境变量转小写
echo$PATH | tr'[:upper:]''[:lower:]'
CHAPTER 04
04进阶参数详解
参数
功能
示例
-d
删除指定字符
tr -d '0-9'
 删除所有数字
-s
压缩重复字符
tr -s ' '
 多个空格压成一个
-c
反选字符集
tr -c 'a-z' '\n'
 非字母转换行
[:class:]
字符类
[:lower:][:upper:][:space:][:punct:]

组合拳示例:

# 删除所有非字母和数字字符,并转小写
echo"Hello@123!World" | tr -cd'[:alnum:]' | tr'A-Z''a-z'
CHAPTER 05
05效率提升技巧
# 推荐加入 ~/.bashrc 的别名
alias upper="tr 'a-z' 'A-Z'"
alias lower="tr 'A-Z' 'a-z'"
alias unspace="tr -s ' '"
# 使用
echo"hello world" | upper
cat log.txt | lower | unspace

工具对比

- tr:简单字符转换,速度最快

- sed:复杂模式匹配与替换

- awk:列处理与数据统计

选型建议

根据任务复杂度灵活选择:轻量转换用 tr,模式匹配用 sed,结构化数据用 awk。

CHAPTER 06
06评论互动区

互动

你最常用tr来处理什么场景?

留言告诉我
大小写转换分隔符替换删除特殊字符其他

下一期想看 sed 进阶、awk 实战 还是 find + xargs 组合技?欢迎留言!

点赞 + 在看 + 转发
把这条干货送给需要的朋友!
· 点赞 ·
喜欢就点个赞吧
· 转发 ·
分享给更多朋友
· 推荐 ·
推荐给身边的人

最新文章

随机文章