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~]$
http://www.taodudu.cc/news/show-7079885.html

相关文章:

  • 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用法讲解相关推荐

  1. shell 中TR的用法,大小写转化

    shell 中TR的用法,大小写转化 1. 用tr 例如:UPPERCASE=$(echo $VARIABLE | tr '[a-z]' '[A-Z]') (把VARIABLE的小写转换成大写)LOW ...

  2. python中entry是什么意思_python中entry用法讲解

    小编之前向大家讲解了很多关于字符串的知识,大家也都知道字符串在python中的作用很大,那你知道在python中用于接收字符串等输入,让用户可与之交互以输入或操作字符串数据的对象是什么吗?是 pyth ...

  3. Linux有关Shell中if用法笔记

    shell中的if主要是用于程序的判断逻辑,从而控制脚本的执行逻辑.这和很多编程语言思路上都是一致的. 1.if的用法结构如下: if exp;then command1; command2; fi ...

  4. linux if 的用法详解,Linux有关Shell中if用法笔记

    shell中的if主要是用于程序的判断逻辑,从而控制脚本的执行逻辑.这和很多编程语言思路上都是一致的. 1.if的用法结构如下: if exp;then command1; command2; fi ...

  5. shell中read用法

     read命令 -n(不换行) -p(提示语句) -n(字符个数) -t(等待时间) -s(不回显)   1.基本读取 read命令接收标准输入(键盘)的输入,或其他文件描述符的输入(后面在说).得到 ...

  6. python中entry的使用方法_python中entry用法讲解

    小编之前向大家讲解了很多关于字符串的知识,大家也都知道字符串在python中的作用很大,那你知道在python中用于接收字符串等输入,让用户可与之交互以输入或操作字符串数据的对象是什么吗?是 pyth ...

  7. shell中cut-b_Shell--cut用法

    cut是以每一行为一个处理对象的,这种机制和sed一样. cut接受三个定位方法: 1)byte: -b 2)characters: -c 3)fields: -d eg:提取第3,4,5,9的字节: ...

  8. fetch 自动加cookie_如何在shell中动态获取chrome浏览器的cookie信息

    0. 背景 在工作的时候,经常要接触一些办公系统,在网页上通过机械化的操作,来完成一个简单的功能,比如某台主机权限的申请,通过一套操作一下,大概7.8个步骤,花费30秒的时间,虽然不长,但是要脱离终端 ...

  9. python中with open用法_在线玩转python中with用法

    在本篇文章里小编给大家整理的是关于python中with用法讲解内容,有需要的朋友们可以参考下. 我们都知道打开文件有两种方法:f = open() with open() as f: 这两种方法的区 ...

最新文章

  1. wamp配置虚拟主机
  2. Ueditor的两种定制方式
  3. 安装MYSQL最低的RAM_安装MySQL后,需要调整的10个性能配置项
  4. metaq发送和接收消息demo
  5. viewState 与session[转]
  6. 7 款 Python 开源框架的优劣总结
  7. mysql傻瓜教程_mysql索引的使用傻瓜教程_MySQL
  8. NHibernate 操作视图 第十三篇
  9. 事务注解放到类上面 下面私有方法有效吗_【面试】足够应付面试的Spring事务源码阅读梳理(建议珍藏)...
  10. ARP协议具体解释之Gratuitous ARP(免费ARP)
  11. mysql 存储过程代码_mysql存储过程语法与实例
  12. android ExpandableListView
  13. 信息安全-安全专业名称|CVE|RCE|POC|VUL|0DAY
  14. intent传递集合数据
  15. c语言绝对值题目,绝对值测试题大全
  16. MobaXterm_Portable的快速复制粘贴
  17. php 多核cpu,如何利用多核CPU来加速你的Linux命令
  18. C语言结构、联合、位操作、位域和枚举
  19. LDF文件过大,如何收缩
  20. 首席商学院新媒体运营黎想:抖音直播入门教学,点这!

热门文章

  1. linux开机dracut界面_centOS 7 频繁出现dracut解决方案
  2. CGAL中2D三角剖分
  3. 图麟科技CEO魏京京:从CV技术到商业变现的干货分享 | CCF-GAIR 2017
  4. Python爬虫——豆瓣读书
  5. eclipse生成javadoc是报很多 不可用的GBK编码
  6. 计算机网络技术与未来岗位的需求,2019-对计算机专业毕业生需求调查分析报告(精选多篇)-范文word版 (15页)...
  7. STM32物联网项目-SHT30温湿度采集(IIC通信)
  8. SQLServer修改登陆账户信息
  9. vuejs java_[Java教程]Vuejs的一些总结
  10. 毛星云opencv之ROI图像叠加混合--5.2.1(定义ROI区域的方法)