Shell中的tr命令_shell tr-程序员宅基地

Shell中的tr命令

tr (translate的简写)

这里用到的意思是转化,转变,转换

-c   #-C,-complement 用集合1中的字符串替换,要求字符集为ASCII

-d   #-delete 删除集合1中的字符而不是转换

-s   #删除所有重复出现字符序列,只保留第一个;即将重复出现字符串压缩为一个字符串

-t    #先删除第一子符集较第二字符集多出的字符

[root@localhost tr]# echo "HI_WESTOS" | tr "A-Z" "a-z"

hi_westos

[root@localhost tr]# echo "012345" | tr "0-9" "9876543210"

987654

[root@localhost tr]# echo "012345" | tr "9876543210" "0-9"

987654

[root@localhost tr]# echo "987654" | tr "9876543210" "0-9"

012345

[root@localhost tr]# echo "hi,this is huige" | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZab^C

[root@localhost tr]# echo 'z-z'

z-z

[root@localhost tr]# echo 'a-z'

a-z

[root@localhost tr]# echo "a-z"

a-z

[root@localhost tr]# echo "ABCDEFGHIJKLMNOPQRSTUVWXYZ" | tr "A-Z" "a-z"

abcdefghijklmnopqrstuvwxyz

[root@localhost tr]# echo "hi,this is huige" | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz' 'NOPQRSTUVWXYZABCDEFGHIJKLMnopqrstuvwxyzabcdefghijklm'

uv,guvf vf uhvtr

[root@localhost tr]# echo "uv,guvf vf uhvtr" | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz' 'NOPQRSTUVWXYZABCDEFGHIJKLMnopqrstuvwxyzabcdefghijklm'

hi,this is huige

 

 

删除此集合中的字符

[root@localhost tr]# echo "hello 123 world 456" | tr -d '0-9'

hello  world

删除不在此集合中的字符

[root@localhost tr]# echo "hello 123 world 456" | tr -d -c '0-9 \n'

 123  456

将压缩为空格

# echo "1  33435    454 435      434343535  " | tr -s '

 '

1 33435 454 435 434343535

# echo "1  33435    454 435      434343535  " | tr -s '   '

1 33435 454 435 434343535


 

[:digit:]    所有数字

[:lower:]  所有小写字符

[:upper:]  所有大写字符

[:graph:]  所有可打印字符,不包括空格


[:print:]   所有可打印字符,包括空格

[:punct:]  所有的标点字符

[:space:]  所有横向或者纵向的空白

 

[root@localhost tr]# echo westos | tr '[:lower:]' '[:upper:]'

WESTOS

 

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_43309149/article/details/104345121

智能推荐

菜单效果-程序员宅基地

文章浏览阅读72次。 https://github.com/FrDH/jQuery.mmenu https://github.com/kamens/jQuery-menu-aim https://github.com/onokumus/metismenu_菜单效应

各种命名空间-程序员宅基地

文章浏览阅读157次。xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity" xmlns:local="clr-namespace:ToWin.CFD.UIL.Views.Pages" xmlns:lvc="clr-namespace:LiveCharts.Wpf;assembly=LiveCharts.Wpf" xmlns:materialDesign="http://materialdesigninxaml.ne...

联想拯救者y7000键盘有几个按键失灵_y7000p键盘失灵-程序员宅基地

文章浏览阅读1.2w次。以联想拯救者y7000p为例,键盘失灵是系统有问题,联想笔记本都带着一键还原功能,只要没有重新安装过系统。一键还原按钮在笔记本左侧或者右侧,是一个很细的孔,进行还原系统即可。键盘(Keyboard)是用于操作设备运行的一种指令和数据输入装置,也指经过系统安排操作一台机器或设备的一组功能键。键盘是最常用也是最主要的输入设备,通过键盘可以将英文字母、数字、标点符号等输入到计算机中,从而向计算机发出命令..._联想拯救者y7000 2022款键盘失灵

贤胜足球分析系统 v2.4.4 大小球测试版 怎么用-程序员宅基地

文章浏览阅读4.7k次。Welcome to my blog!贤胜足球分析系统 v2.4.4 大小球测试版 软件大小:29823 KB软件语言:简体中文软件类别:国产软件 / 免费版 / 彩票工具应用平台:Win9x/NT/2000/XP/2003界面预览:无插件情况: 投诉更新时间:2007-02-01 14:00:24下载次数:1231推荐等级:联 系 人:haiyuwebc_足球分析系统

Python3 LinAlgError: SVD did not converge in Linear Least Squares-程序员宅基地

文章浏览阅读8.5k次,点赞6次,收藏5次。有用的话记得回过头请给本文点个赞,感谢您的支持!LinAlgError: SVD did not converge in Linear Least Squares说明在拟合时,y值里存在nan值,ps:虽然你的原始文件中可能没有nan值,但是可能存在数值类型不是float型或完全的整型的数据,导致读出来的数据中有nan值,我就遇到一个,如图,读出来有一个是nan值,原始文件中是一个float型数字。解决方法,去掉该数据。y = lsit(y)nan_index = []for i in r_svd did not converge in linear least squares

CGI编程学习5 穿插HTML,CSS零星知识-程序员宅基地

文章浏览阅读127次。今天,看了同学写的HTML代码很糟糕.就自己重写了一下.了解了一些HTML.CSS知识.现记录在这里.先给大家一个比较好的CSS教程网站:http://www.w3school.com.cn/css/index.aspCSS 概述CSS 指层叠样式表 (Cascading Style Sheets)样式定义如何显示 HTML 元素样式通常存储在样式表中把样式添加..._cgi 生成含有css的html文件

随便推点

音视频编解码技术:AAC 音频编码技术_aac编解码库-程序员宅基地

文章浏览阅读1.2k次。音视频编解码技术:AAC 音频编码技术_aac编解码库

Android布局:设置LinearLayout(Vertical)中控件的长度比例_linearlayout 尺寸-程序员宅基地

文章浏览阅读4.8k次。步骤:1. 该行所有的控件宽度都设置为0: layout_width="0dp" ;2. 设置 layout_weight 属性: 假设一行有两个控件,第一个控件占整个屏幕宽度的3/8,则: 设置第一个 layout_weight="3" ,第二个属性 layout_weight="5" 。即,某个控件的实际宽度 = 指定宽度 + 剩余宽度 × 比例 例中第一个控件的宽度 = ..._linearlayout 尺寸

多思计算机组成原理实验二:全加器实验_计算机组成原理全加器设计实验-程序员宅基地

文章浏览阅读9k次,点赞15次,收藏134次。多思计算机组成原理实验二:全加器实验_计算机组成原理全加器设计实验

图像处理基础知识系列之二:核概率密度估计简介-程序员宅基地

文章浏览阅读1.2w次,点赞8次,收藏43次。核概率密度估计简介  核密度估计(Kernel density estimation),是一种用于估计概率密度函数的非参数方法,为独立同分布F的n个样本点,设其概率迷度函数为f,核密度估计为以下:       公式(1)  以上解释虽然仅仅几行,但看起来还是不是那么容易理解,这里主要想通过另外一种方式对核概率密度函数有一个直观的初步解释,严谨性与逻辑性不作要_核概率密度

Mybatis 模糊查询三种方法_mybatis模糊查询满足三个列-程序员宅基地

文章浏览阅读1.5k次,点赞2次,收藏4次。背景  由于项目需要模糊查询,所以需要使用LIKE子句。LIKE子句需要使用%作为占位符,所以需要将%与字段值连接到一起。Mybatis下大概有如下几种方式实现:①使用$占位符,②使用数据库函数concat,③使用Mybatis的动态sql标签,下面会简单介绍下前两种的用法和缺陷,然后重点介绍第三种,如何使用以及存在的坑。使用$代码如下:@Select({"<script>",..._mybatis模糊查询满足三个列

android通信服务器实现注册功能_安卓app与后台通信登陆注册-程序员宅基地

文章浏览阅读431次。一些问题:1.安卓import android.support.v7.app.AppCompatActivity报错?试试导入import androidx.appcompat.app.AppCompatActivity;参考:https://blog.csdn.net/Baro_knight/article/details/965723572.sdk28之前的版本注意需要修改..._安卓app与后台通信登陆注册