shell 中tr用法讲解
tr(translate缩写)主要用于删除文件中的控制字符,或进行字符转换。
语法:tr [–c/d/s/t] [SET1] [SET2]
SET1: 字符集1
SET2:字符集2
-c:complement,用SET2替换SET1中**没有包含的字符**
-d:delete,删除SET1中所有的字符,不转换
-s: squeeze-repeats,压缩SET1中重复的字符 -t: truncate-set1,将SET1用SET2转换, **一般缺省为-t**
**1、去除重复的字符**
#将连续的几个相同字符压缩为一个字符
$ echo aaacccddd | tr -s [a-z]
acd
$ echo aaacccddd | tr -s [abc]
acddd
2、删除空白行
#删除空白行就是 删除换行符/n
#注意:这些空白行上只有回车符,没有空格符
$ cat test.txt
I love linux!Hello World!Shell is worthy to been studied#这里用换行符的 转义字符\n
**#注意:此处用-s删除了多余的换行符,如果用-d,则会删除所有的换行符 **
$ cat test.txt | tr -s ["\n"] I love linux!
Hello World!
Shell is worthy to been studied
#也可以用八进制符\012, **\012与\n都是换行符** $ cat test.txt | tr -s "[\012]" I love linux!
Hello World!
Shell is worthy to been studied
3、大小写相互转换
#将语句中所有的小写字母变成大写字母, 其中-t可省略 $ echo "Hello World I Love You" |tr [-t] [a-z] [A-Z]
HELLO WORLD I LOVE YOU
#将语句中所有的大写字母变成小写字母
$ echo "Hello World I Love You" |tr [A-Z] [a-z]
hello world i love you
#也可以利用字符类进行转换
#[:lower:]代表小写字母,[:upper:]代表大写字母 $ echo "Hello World I Love You" |tr [:lower:] [:upper:]
HELLO WORLD I LOVE YOU
4、删除指定的字符
$ cat test.txt
Monday 09:00
Tuesday 09:10
Wednesday 10:11
Thursday 11:30
Friday 08:00
Saturday 07:40
Sunday 10:00
#现在要删除处理星期之外的所有字符
#-d代表删除,[0-9]代表所有的数字, [: ]代表冒号和空格
$ cat test.txt | tr -d "[0-9][: ]"
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
Sunday
5、利用-c进行补集的替换
#有时候在文本中我们只知道要保留的一些字符,其他字符种类繁多,就可以使用补集的替换
$ cat test.txt
Monday 09:00
Tuesday 09:10
Wednesday 10:11
Thursday 11:30
Friday 08:00
Saturday 07:40
Sunday 10:00
#我们只需要星期,则思路就是除了字母,其他统统替换掉
#这里 ,-c:用换行符替换掉除了字母外的所有字符 ; - s:删除多余的换行符
cat test.txt|tr -cs "[a-z][A-Z]" "\n"
Monday
Tuesday
Wednesday
Thursday
Friday
SaturdaySunday**再来看一个例子:**[[Oracle](javascript:void() "Oracle知识库")@SOR_SYS~]$ echo 172.16.30.141|tr -cd .
...You have new mail in /var/spool/mail/[oracle](javascript:void() "Oracle知识库")
[oracle@SOR_SYS~]$ echo 172.16.30.141|tr -cd .|wc -c 3 [oracle@SOR_SYS~]$
相关文章:
- html table tr td br 什么意思
- 深度解读数据管理葵花宝典-《DAMA-DMBOK2数据管理知识体系指南(第2版)》
- PMP--项目整合管理知识点总结
- Linux内核学习--电源管理
- Linux 电源管理子系统
- Jetson Nano故障:网线连接后系统无法识别,网线借口绿灯常亮、黄灯不亮
- 2022 余生得而不喜,失而不忧
- 躲不过的初阳
- 时不我待,勿让青春虚度
- Disease
- python刘卫国答案第二_Homepages related
- Healthcare
- MiME: Multilevel Medical Embedding of Electronic Health Records for Predictive Healthcare
- MedSAM
- MEDSAMreadme
- microbiome__clinical__analysis临床微生物分析
- Medical Data for Machine Learning
- Attempt to refer to a unregistered pool by its alias ‘data‘
- linux好多命令用不了,linux系统所有命令突然用不了的解决方法
- 关于重装系统后Boot下EFI的Windows Boot Manager括号中不是系统盘的问题
- 数码防伪公司经营管理的必备三大软件系统
- 产品窜货是什么意思?怎么防止窜货行为?
- Burpsuite Intruder Payload四种类型选择的问题
- 【转】burp suite intruder模块详解
- 关于Burp Suite Intruder 的四种攻击方式
- 如何将Burpsuite的intruder的payload导出来,几句python就可以
- Burp Suite入侵者(Intruder)模块使用详解
- burpsuite WEB渗透工具的基本使用
- python3和burpsuite组合爬取网页数据并存储在excel表格(需要登录后才能看到的大量数据)
- 【burpsuite】核心使用方法
shell 中tr用法讲解相关推荐
- shell 中TR的用法,大小写转化
shell 中TR的用法,大小写转化 1. 用tr 例如:UPPERCASE=$(echo $VARIABLE | tr '[a-z]' '[A-Z]') (把VARIABLE的小写转换成大写)LOW ...
- python中entry是什么意思_python中entry用法讲解
小编之前向大家讲解了很多关于字符串的知识,大家也都知道字符串在python中的作用很大,那你知道在python中用于接收字符串等输入,让用户可与之交互以输入或操作字符串数据的对象是什么吗?是 pyth ...
- Linux有关Shell中if用法笔记
shell中的if主要是用于程序的判断逻辑,从而控制脚本的执行逻辑.这和很多编程语言思路上都是一致的. 1.if的用法结构如下: if exp;then command1; command2; fi ...
- linux if 的用法详解,Linux有关Shell中if用法笔记
shell中的if主要是用于程序的判断逻辑,从而控制脚本的执行逻辑.这和很多编程语言思路上都是一致的. 1.if的用法结构如下: if exp;then command1; command2; fi ...
- shell中read用法
read命令 -n(不换行) -p(提示语句) -n(字符个数) -t(等待时间) -s(不回显) 1.基本读取 read命令接收标准输入(键盘)的输入,或其他文件描述符的输入(后面在说).得到 ...
- python中entry的使用方法_python中entry用法讲解
小编之前向大家讲解了很多关于字符串的知识,大家也都知道字符串在python中的作用很大,那你知道在python中用于接收字符串等输入,让用户可与之交互以输入或操作字符串数据的对象是什么吗?是 pyth ...
- shell中cut-b_Shell--cut用法
cut是以每一行为一个处理对象的,这种机制和sed一样. cut接受三个定位方法: 1)byte: -b 2)characters: -c 3)fields: -d eg:提取第3,4,5,9的字节: ...
- fetch 自动加cookie_如何在shell中动态获取chrome浏览器的cookie信息
0. 背景 在工作的时候,经常要接触一些办公系统,在网页上通过机械化的操作,来完成一个简单的功能,比如某台主机权限的申请,通过一套操作一下,大概7.8个步骤,花费30秒的时间,虽然不长,但是要脱离终端 ...
- python中with open用法_在线玩转python中with用法
在本篇文章里小编给大家整理的是关于python中with用法讲解内容,有需要的朋友们可以参考下. 我们都知道打开文件有两种方法:f = open() with open() as f: 这两种方法的区 ...
最新文章
- wamp配置虚拟主机
- Ueditor的两种定制方式
- 安装MYSQL最低的RAM_安装MySQL后,需要调整的10个性能配置项
- metaq发送和接收消息demo
- viewState 与session[转]
- 7 款 Python 开源框架的优劣总结
- mysql傻瓜教程_mysql索引的使用傻瓜教程_MySQL
- NHibernate 操作视图 第十三篇
- 事务注解放到类上面 下面私有方法有效吗_【面试】足够应付面试的Spring事务源码阅读梳理(建议珍藏)...
- ARP协议具体解释之Gratuitous ARP(免费ARP)
- mysql 存储过程代码_mysql存储过程语法与实例
- android ExpandableListView
- 信息安全-安全专业名称|CVE|RCE|POC|VUL|0DAY
- intent传递集合数据
- c语言绝对值题目,绝对值测试题大全
- MobaXterm_Portable的快速复制粘贴
- php 多核cpu,如何利用多核CPU来加速你的Linux命令
- C语言结构、联合、位操作、位域和枚举
- LDF文件过大,如何收缩
- 首席商学院新媒体运营黎想:抖音直播入门教学,点这!
热门文章
- linux开机dracut界面_centOS 7 频繁出现dracut解决方案
- CGAL中2D三角剖分
- 图麟科技CEO魏京京:从CV技术到商业变现的干货分享 | CCF-GAIR 2017
- Python爬虫——豆瓣读书
- eclipse生成javadoc是报很多 不可用的GBK编码
- 计算机网络技术与未来岗位的需求,2019-对计算机专业毕业生需求调查分析报告(精选多篇)-范文word版 (15页)...
- STM32物联网项目-SHT30温湿度采集(IIC通信)
- SQLServer修改登陆账户信息
- vuejs java_[Java教程]Vuejs的一些总结
- 毛星云opencv之ROI图像叠加混合--5.2.1(定义ROI区域的方法)