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
处理单位 单个字符 字符串/正则表达式
功能复杂度 简单(只能字符映射) 强大(支持正则、条件、脚本)
速度 更快 较慢
适用场景 简单字符替换/删除/压缩 复杂文本处理
相关推荐
AlfredZhao1 天前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户9718356334661 天前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪1 天前
linux 拷贝文件或目录到指定的位置
linux
大树882 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠2 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质2 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
bush42 天前
嵌入式linux学习记录十四、术语
linux·嵌入式
载数而行5202 天前
Linux 11 动态监控指令top
linux
小宇宙Zz2 天前
Maven依赖冲突
java·服务器·maven
Inhand陈工2 天前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信