tr命令-转换和删除字符
tr
转换和删除字符
支持标准输入
格式
tr [OPTION]...SET1[SET2]
Translate, squeeze, and/or delete characters from standard input,writing to standard output.
选项
-c, -C, --complement use the complement of SET1 ##去字符集的补集
-d, --delete delete characters in SET1, do not translate ##删除所有属于第一字符集的字符
-s, --squeeze-repeats replace each sequence of a repeated character ##压缩即去重
that is listed in the last specified SET,
with a single occurrence of that character
-t, --truncate-set1 first truncate SET1 to length of SET2##强制一一对应
--help display this help and exit
--version output version information and exit
把第一个字符集转换为第二个字符集
定义第一个字符串和第二个字符串
- 一一对应 对应转换
- 第一个多 第二个少 第一个多出来的对应第二个最后一个
- 第一个少 第二个多 第二个多出来的没有对应的弃用
[root@C8-1 ~]# tr '3579' 'baip'
1234567890
12b4a6i8p0
[root@C8-1 ~]# tr '3579' 'bai'
1234567890
12b4a6i8i0
[root@C8-1 ~]# tr '357' 'baip'
1234567890
12b4a6i890
增加选项 -t 强制一一对应
[root@C8-1 ~]# tr '135790' 'bai'
1234567890
b2a4i6i8ii
[root@C8-1 ~]# tr -t '135790' 'bai'
1234567890
b2a4i67890
支持类似通配符的写法
像通配符的写法,但不是通配符,是tr命令中的写法。
Interpreted sequences are:
\NNN character with octal value NNN (1 to 3 octal digits)
\ backslash
\a audible BEL
\b backspace
\f form feed
\n new line
\r return
\t horizontal tab
\v vertical tab
CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order
[CHAR] in SET2, copies of CHAR until length of SET1
[CHARREPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0
[:alnum:] all letters and digits 数字和字母
[:alpha:] all letters 所有的数字
[:blank:] all horizontal whitespace 空格
[:cntrl:] all control characters 控制符(非打印)
[:digit:] all digits 数字
[:graph:] all printable characters, not including space 图形字符
[:lower:] all lower case letters 小写字母
[:print:] all printable characters, including space 可打印字符
[:punct:] all punctuation characters 标点符号
[:space:] all horizontal or vertical whitespace 空格
[:upper:] all upper case letters
[:xdigit:] all hexadecimal digits 16进制
[=CHAR=] all characters which are equivalent to CHAR
将小写字母替换为大写字母
[root@C8-1 ~]# tr ‘a-z’ 'A-Z'
dhaohwuifqhw]
GKDRKZXLITKZ]
13reqg35yhetdf
13UHTJ35ZKHWGI
[root@C8-1 ~]# tr ‘[:lower:]’ '[:upper:]'
tr: misaligned [:upper:] and/or [:lower:] construct
[root@C8-1 ~]# tr '[:lower:]' '[:upper:]'
qfoeihefu3310491fas
QFOEIHEFU3310491FAS
[root@C8-1 ~]# tr '[:upper:]' '[:lower:]'
QEGVD$TGS%^$*^#@GSDW
qegvd$tgs%^$*^#@gsdw
将序列竖着派
[root@C8-1 ~]# echo {1..8} | tr ' ' '\n'
1
2
3
4
5
6
7
8
支持压缩
tr -s
把连续的重复字符,表示为一个字符,压缩相同的
[root@C8-1 ~]# tr -s abc
aaabbbabababccccbcbcbc
ababababcbcbcbc
支持删除
tr -d
只要发现有小写abc就给删掉
[root@C8-1 ~]# tr -d abc
123abc456def789hijk
123456def789hijk
123ABC456d
123ABC456d
取补集
tr -c
除了字符集以外的字符,ctrl+d结束
配合-d使用,从随机数中取数字和字母
[root@C8-1 ~]# cat -n /dev/urandom | tr -dc '[:alnum:]' | >un.text
用tr命令实现从1到100的运算
[root@C8-1 ~]# echo {1..100} | tr ' ' + |bc
5050
[root@C8-1 ~]# echo {1..100} | tr ' ' - |bc
-5048
[root@C8-1 ~]# echo {1..100} | tr ' ' '*'|bc
93326215443944152681699238856266700490715968264381621468592963895217\
59999322991560894146397615651828625369792082722375825118521091686400\
0000000000000000000000
[root@C8-1 ~]# echo {1..100} | tr ' ' '/'|bc
0
/dev/urandom 存放着随机字符
一个特殊的字符设备,里边放着随机数
[root@C8-1 ~]# ll /dev/urandom
crw-rw-rw-. 1 root root 1, 9 Jun 20 07:02 /dev/urandom
就相当于excel里边的查找和替换,挺好用的吧。
tr -dc '[:alnum:]' < /dev/urandom
tr命令-转换和删除字符的更多相关文章
- 【Linux基础】tr命令替换和删除字符
1.tr命令 tr可以对来自标准输入的字符进行替换.压缩和删除,可以将一组字符变成另外一组字符.通过使用 tr,您可以非常容易地实现 sed 的许多最基本功能.您可以将 tr 看作为 sed 的(极其 ...
- tr 命令 操作字符串中字符 删除替换 等
ip=$(cat ${path}initOauth/initinfo.txt |awk '{if(NR==1)print $0;}'|tr -d '\r'); tr命令可以对来自标准输入的字符进行替换 ...
- tr转换或删除字符
字符处理命令:tr —— 转换或删除字符 逐个字符处理而不是处理单词的tr [OPTION]... SET1 [SET2] -d: 删除出现在字符集中的所有字符 tr ab AB
- 3.20 tr:替换或删除字符
tr命令 从标准输入中替换.缩减或删除字符,并将结果写到标准输出. tr [option] [SET1] [SET2] tr [选项] [字符1] [字符2] -d 删除字符 -s ...
- HBase笔记之远程Shell界面命令行无法删除字符的解决方案
方法一: 设置终端退格键为ASCII 127 在XShell的界面中,设置 文件 --> 属性 --> 终端 --> 键盘 --> BACKSPACE键序列,改为ASCII 1 ...
- linux tr命令实现windows文本格式与linux文本格式间的转换
tr 命令 转换和删除字符 选项: -d --delete:删除字符 -s --squeeze-repeats:把连续重复的字符以一个字符表示,即去重 -c –C --complement:取字符集的 ...
- linux中cut命令与tr命令
目录 一:linux中cut命令 1.cut 命令作用 2.参数 3.参数案例解析: 二:tr命令 1.tr命令作用 2.tr命令格式 3.tr命令参数 4.案例解析: 一:linux中cut命令 1 ...
- 转换和删除重复命令tr
前几篇文章介绍了几个用于处理字符的命令和工具,然而在处理大小写转换.删除重复字符等任务时,这些命令处理起来相对较为麻烦.这里将简单介绍Linux下自带的tr命令,相对于其他命令而言,其语法较为简单,比 ...
- linux的tr命令
tr(translate缩写)主要用于删除文件中的控制字符,或进行字符转换. 语法 tr [ -c | -cds | -cs | -C | -Cds | -Cs | -ds | -s] [ -A] S ...
随机推荐
- 几个概念讲解Xaas
saas:software as a service SaaS平台是运营saas软件的平台.SaaS提供商为企业搭建信息化所需要的所有网络基础设施及软件.硬件运作平台,并负责所有前期的实施.后期的维 ...
- 《Java从入门到失业》第四章:类和对象(4.4):方法参数及传递
4.4方法参数及传递 关于这个知识点,我想了很久该不该在这里阐述.因为这个知识点稍微有点晦涩,并且就算不了解也不影响用Java编写代码.不过笔者刚开始工作的时候,就是因为这块内容没有过多的关注,以至于 ...
- Redis学习(四)redis发布订阅
文章更新时间:2020/04/22 一.简介 Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息. Redis 客户端可以订阅任意数量的频道. ...
- Docker 容器化部署 Python 应用
Docker 是一个开源项目,为开发人员和系统管理员提供了一个开放平台,可以将应用程序构建.打包为一个轻量级容器,并在任何地方运行.Docker 会在软件容器中自动部署应用程序. 在本篇中,我将介绍如 ...
- 在移动硬盘上安装Linux Mint19记录
前要: 有一12年买的手提电脑,打算在其上直接装linux部署分布式爬虫顺便学linux 唔,开机吧--然开机动画没有,只有间断有序的悲鸣,一查,主板逝世 卖给收买旧电脑估计不到20-不能忍,想了想不 ...
- Processing 网格(棋盘格)无限偏移纹理动画
过火 再度出击!这次我们要玩得更火一点---把静帧变动画.没错,将棋盘格动起来!看一下效果: 这是一个经典的无限偏移动画,在很多2d横版射击游戏中都会采用的技术.如何在Processing中实现,有两 ...
- mysql-14-transaction
#TCL /* 事务控制语言 事务:一个或一组sql语句组成一个执行单元,每条sql语句相互依赖 这个执行单元要么全部执行.要么全部失败后回滚 案例:转账 事务的acid属性 1.原子性:事务时一个不 ...
- JDK1.8新特性之(一)--Lambda表达式
近期由于新冠疫情的原因,不能出去游玩,只能在家呆着.于是闲来无事,开始阅读JDK1.8的源代码.在开始之前也查询了以下JDK1.8的新特性,有针对性的开始了这段旅程. 只看不操作,也是不能心领神会的. ...
- [POI2005]SAM-Toy Cars 贪心+堆
[POI2005]SAM-Toy Cars 题目:Jasio 是一个三岁的小男孩,他最喜欢玩玩具了,他有n 个不同的玩具,它们都被放在了很高的架子上所以Jasio 拿不到它们:为了让他的房间有足够的空 ...
- 为自己的网页博客添加L2Dwidget.js看板娘
如果是博客园,直接在设置-->页脚 HTML 代码,加上下面代码: 1 <!-- L2Dwidget.js L2D网页动画人物 --> 2 <script src=" ...