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
处理单位 单个字符 字符串/正则表达式
功能复杂度 简单(只能字符映射) 强大(支持正则、条件、脚本)
速度 更快 较慢
适用场景 简单字符替换/删除/压缩 复杂文本处理
相关推荐
xingyuzhisuan1 小时前
影视动画渲染租用RTX4090 GPU服务器的优势及选型指南
运维·服务器·ai编程·gpu算力
TG_yunshuguoji1 小时前
阿里云代理商:DeepSeek V4 API接入全攻略 + 云服务器部署指南
运维·阿里云·云计算·ai智能体·deepseek-v4
很懒的程序员雄1 小时前
eNSP企业级复杂拓扑
运维·服务器·网络
zhuxiaohai681 小时前
ubuntu24.04安装docker(国内加速方法)
运维·docker·容器
xhbh6661 小时前
Java端口转发完全教程:从Socket基础到Netty高并发实战
运维·服务器·网络·流量端口转发·netsh 端口转发
普通young man1 小时前
谈Linux下编译和动静态链接
linux·运维·服务器
leoZ2311 小时前
项目改造为 Docker 容器使用指南
运维·docker·容器
初願致夕霞1 小时前
Linux编程_应用层_HTTP与HTTPS协议
linux·c++·http·https
http阿拉丁神猫2 小时前
Docker知识点汇总(6~10)
运维·docker·容器