Linux中的tr命令

tr命令是Linux/Unix中的经典文本处理命令,名字来源于"translate"(转换)

作用:对标准输入字符进行一对一的替换、删除或压缩。

基本语法:

bash 复制代码
tr [选项] 字符集1 [字符集2]

示例:

bash 复制代码
rain@LAPTOP-IIB6PKR5:~$ echo "Hello" | tr 'e' 'E' # 将Hello中的e换成大写的E然后再输出
HEllo
bash 复制代码
rain@LAPTOP-IIB6PKR5:~$ echo "Hello" | tr 'el' 'EL' # 替换多个字符 ,即将所有的e替换成大写E,所有小写l替换成大写L
HELLo
bash 复制代码
rain@LAPTOP-IIB6PKR5:~$ echo "Hello World" | tr 'a-z' 'A-Z' # 大小写转换 'a-z'和'A-Z'不是正则表达式,而是字符集(character set)或字符范围
HELLO WORLD
bash 复制代码
rain@LAPTOP-IIB6PKR5:~$ echo "Hello 123World" | tr -d '0-9' # 删除数字
Hello World
bash 复制代码
rain@LAPTOP-IIB6PKR5:~$ echo -e "Hello\nWorld"
Hello
World
rain@LAPTOP-IIB6PKR5:~$ echo -e "Hello\nWorld" | tr -d "\n"
HelloWorldrain@LAPTOP-IIB6PKR5:~$
bash 复制代码
rain@LAPTOP-IIB6PKR5:~$ echo -e "Hello\nWorld" | tr -d '\n'
HelloWorldrain@LAPTOP-IIB6PKR5:~$
rain@LAPTOP-IIB6PKR5:~$ echo $PATH | tr ':' '\n' # 将冒号替换成换行符,原先echo $PATH输出的结果是每个路径被:分隔,现在是被换行符分隔,使得输出更加清晰直观
/run/user/1000/fnm_multishells/411_1778220590215/bin
/home/rain/.local/share/fnm
/usr/local/sbin
/usr/local/bin
/usr/sbin
/usr/bin
/sbin
/bin
/usr/games
/usr/local/games
/usr/lib/wsl/lib
/mnt/c/Program Files (x86)/Common Files/Oracle/Java/javapath
/mnt/c/Program Files/Common Files/Oracle/Java/javapath
/mnt/c/Windows/system32
/mnt/c/Windows
/mnt/c/Windows/System32/Wbem
/mnt/c/Windows/System32/WindowsPowerShell/v1.0/
/mnt/c/Windows/System32/OpenSSH/
/mnt/c/Program Files (x86)/NVIDIA Corporation/PhysX/Common
/mnt/c/Program Files/NVIDIA Corporation/NVIDIA App/NvDLISR
/mnt/c/Program Files/dotnet/
/mnt/d/Users/Admin/AppData/Local/Programs/MiKTeX/miktex/bin/x64
/mnt/d/chromedriver/chromedriver-win64
/mnt/d/Windows Kits/10/Windows Performance Toolkit/
/mnt/d/CodeFamily/JDK25/bin
/mnt/d/CodeFamily/jdk1.8.0_281/bin
/mnt/d/MinGW/mingw64/bin
/mnt/d/CodeFamily/Python/Python314/Scripts/
/mnt/d/CodeFamily/Python/Python314/
/mnt/c/Users/Admin/AppData/Local/Microsoft/WindowsApps
/mnt/d/Python Files/PyCharm 2025.1.1.1/bin
/mnt/d/Program Files/JetBrains/DataGrip 2025.1.2/bin
/mnt/d/Program Files/JetBrains/CLion 2025.1.1/bin
/mnt/d/Users/Admin/AppData/Local/Programs/Microsoft VS Code/bin
/mnt/d/APP Program/Fiddler
/mnt/d/MinGW/mingw64/bin
/snap/bin

tr与sed的区别:

特性 tr sed
处理单位 单个字符 字符串/正则表达式
功能复杂度 简单(只能字符映射) 强大(支持正则、条件、脚本)
速度 更快 较慢
适用场景 简单字符替换/删除/压缩 复杂文本处理
相关推荐
DianSan_ERP3 小时前
电商架构演进:如何在高并发场景下实现多平台API的标准化履约?
运维·前端·网络·安全·架构·自动化
恒5393 小时前
Linux文件系统I
linux·运维·服务器
阿成学长_Cain4 小时前
Linux ipcs 命令超全详解:查看共享内存 / 消息队列 / 信号量,IPC 运维必备
linux·运维·服务器·网络·数据库
黯然神伤8884 小时前
AlmaLinux设置软件下载源
linux·alma
青瓦梦滋4 小时前
协议定制/序列化-反序列化(Linux视角)
linux·服务器·网络·c++
运维老郭6 小时前
【K8s运维实战】Kubernetes临时存储卷实战:emptyDir核心用法与gitRepo弃用迁移指南
运维·云原生·kubernetes
珠海西格电力7 小时前
云边端协同架构:零碳园区管理系统的技术底座
大数据·运维·人工智能·算法·架构·能源
阿成学长_Cain7 小时前
Linux dirs命令详解|Bash目录堆栈管理快速切换目录实战教程
linux·运维·前端·数据库
小羊Yveesss8 小时前
2026年微信小程序后端怎么搭建?后台、数据、接口和运维怎么选
运维·微信小程序·小程序