linux系统下tr命令详解

发布时间 - 2020-11-05 00:00:00    点击率:

今天想和大家介绍下1个非常常用的命令——tr。这个命令可以用来替换字符串、删除指定字符以及将多个重复字符压缩只剩一个,除此之外,该命令是支持管道的。从上面的功能介绍,大家应该能够感受到该命令功能非常的强大。

下面,来介绍下该命令:

tr [选项] 参数

常用选项如下:

  • -c 后接字符范围,表示除这些字符之外的字符

  • -d 删除指定字符

  • -s 将重复字符压缩只剩一个

下面通过几个案例来学习如何使用该命令

字符串替换

这个是最基本功能,没有添加任何选项时,则表示字符串替换,命令格式为:

tr 原字符串 需替换成的字符串

这里,我们还经常用到-符号,它表示连续的意思。下面来看案例:

# 字符串替换,将小写字母替换为大写字母
# echo hello,world | tr [a-z] [A-Z]
HELLO,WORLD

删除字符

通过选项-d来删除指定的字符,通过-d -c选项可以用来保留指定的字符。下面来看案例

# 删除指定字符ae
# echo 'There are apples' | tr -d 'ae'
Thr r ppls

# 删除指定字符,只保留数字和字母及换行符,其他的字符全部删除
# echo 'sSwd,aw23e;sw aswe' | tr -d -c 'a-zA-Z0-9\n'
sSwdaw23eswaswe

压缩字符

这个功能非常的常用,它可以来将连续重复的字符压缩成只留一个。我们经常用它来删除连续的空格只留一个空格,删除连续的换行符只留一个换行符。想要完成压缩字符的功能,需要使用-s选项。

# 删除连续的空格只留下一个(我们也经常删除连续的换行符只留一个)
# echo -e "hello    world.\n\n\n" | tr -s ' \n'
hello world.

上面的几个例子比较简单,可能看不出这个命令的威力,下面再来看几个稍微复杂点的案例。

我们知道,cut对于连续空格的处理不是很擅长。如果想用cut来选取df命令显示结果的第二列,是办不到的。这个时候,如果首先使用tr命令将多个连续空格压缩成一个,那么cut命令就能够来满足需要了。

# df -h | tr -s ' \t' | cut -d ' ' -f 2
Size
40G
487M
497M
497M
497M
100M

可以看到,通过tr的处理,cut现在能够获取到第二列信息了。

tr这个命令功能很强大,用法非常的简单,希望大家都能掌握并应用它。


# linux  # 几个  # 只留  # 多个  # 换行符  # 只剩  # 用它  # 可以用来  # 压缩成  # 都能  # 其他的 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 晋江文学城电脑版官网 晋江文学城网页版直接进入  西安专业网站制作公司有哪些,陕西省建行官方网站?  高端企业智能建站程序:SEO优化与响应式模板定制开发  Laravel DB事务怎么使用_Laravel数据库事务回滚操作  HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】  Laravel怎么实现观察者模式Observer_Laravel模型事件监听与解耦开发【指南】  如何快速搭建二级域名独立网站?  Laravel Pest测试框架怎么用_从PHPUnit转向Pest的Laravel测试教程  深圳网站制作平台,深圳市做网站好的公司有哪些?  如何在阿里云服务器自主搭建网站?  Laravel队列由Redis驱动怎么配置_Laravel Redis队列使用教程  Laravel如何实现多级无限分类_Laravel递归模型关联与树状数据输出【方法】  EditPlus中的正则表达式 实战(4)  香港服务器网站卡顿?如何解决网络延迟与负载问题?  Laravel Docker环境搭建教程_Laravel Sail使用指南  个人网站制作流程图片大全,个人网站如何注销?  如何快速搭建高效可靠的建站解决方案?  Laravel Facade的原理是什么_深入理解Laravel门面及其工作机制  香港服务器如何优化才能显著提升网站加载速度?  Laravel如何实现本地化和多语言支持?(i18n教程)  微信小程序 wx.uploadFile无法上传解决办法  php静态变量怎么调试_php静态变量作用域调试技巧【解答】  如何在IIS7中新建站点?详细步骤解析  实现点击下箭头变上箭头来回切换的两种方法【推荐】  Laravel如何发送邮件和通知_Laravel邮件与通知系统发送步骤  微信h5制作网站有哪些,免费微信H5页面制作工具?  如何在景安服务器上快速搭建个人网站?  Chrome浏览器标签页分组怎么用_谷歌浏览器整理标签页技巧【效率】  免费视频制作网站,更新又快又好的免费电影网站?  百度输入法ai组件怎么删除 百度输入法ai组件移除工具  佐糖AI抠图怎样调整抠图精度_佐糖AI精度调整与放大细化操作【攻略】  Laravel中Service Container是做什么的_Laravel服务容器与依赖注入核心概念解析  php8.4header发送头信息失败怎么办_php8.4header函数问题解决【解答】  手机软键盘弹出时影响布局的解决方法  javascript中闭包概念与用法深入理解  网站制作企业,网站的banner和导航栏是指什么?  网站制作软件免费下载安装,有哪些免费下载的软件网站?  如何在阿里云完成域名注册与建站?  如何在云主机上快速搭建多站点网站?  Laravel怎么返回JSON格式数据_Laravel API资源Response响应格式化【技巧】  郑州企业网站制作公司,郑州招聘网站有哪些?  Laravel如何处理文件下载请求?(Response示例)  香港服务器选型指南:免备案配置与高效建站方案解析  如何续费美橙建站之星域名及服务?  浅谈javascript alert和confirm的美化  如何自定义建站之星模板颜色并下载新样式?  C语言设计一个闪闪的圣诞树  *服务器网站为何频现安全漏洞?  如何彻底删除建站之星生成的Banner?  JS碰撞运动实现方法详解