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
处理单位 单个字符 字符串/正则表达式
功能复杂度 简单(只能字符映射) 强大(支持正则、条件、脚本)
速度 更快 较慢
适用场景 简单字符替换/删除/压缩 复杂文本处理
相关推荐
阿黎021427 分钟前
Linux驱动
linux
tjjingpan31 分钟前
HCIP-Datacom Core Technology V1.0_20 IPv6概述
linux·服务器·网络
云泽8081 小时前
Linux基础开发工具(三):Vim高级配置、Swap恢复机制与Sudo权限白名单详解
linux·运维·vim
Urbano1 小时前
服装厂入局自动化开袋设备:市场前景、机型选型与落地实效科普
运维·自动化
tju23331 小时前
Gitee Test是什么:从测试资产管理到自动化执行的工程化实践
运维·gitee·自动化
名字还没想好☜1 小时前
Kubernetes Pod 调度实战:nodeSelector、亲和性与 taint/toleration 把 Pod 放到指定节点
运维·云原生·容器·kubernetes·调度
qetfw1 小时前
CentOS 7 vsftpd.conf 配置文件详解:监听、用户、权限、被动模式与 TLS
linux·运维·centos·ftp·vsftpd
风曦Kisaki1 小时前
Kubernetes(K8s)笔记Day04:控制器(ReplicaSet 与Deployment),滚动更新及回滚,滚动更新策略,Pod 的 DNS 策略
linux·运维·笔记·docker·容器·kubernetes
code_whiter1 小时前
初阶linux2环境基础开发工具完整教程
linux
薛定e的猫咪1 小时前
零基础选型指南:Make / 扣子 Coze/n8n/Dify 四大自动化平台完整对比
运维·自动化