99%的 Linux 用户还不会:tr 命令让文本转换快到飞起
原创
didiplus
didiplus
攻城狮成长日记
2026年7月13日 15:28
广东
在小说阅读器读本章
去阅读
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 ' ' '\
'
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' '\ |
| '` 非字母转换行 | ||
[: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 组合技?欢迎留言!
点赞 + 在看 + 转发
把这条干货送给需要的朋友!
· 点赞 ·
喜欢就点个赞吧
· 转发 ·
分享给更多朋友
· 推荐 ·
推荐给身边的人
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论