shell的tr命令
tr,translate的简写,即翻译的意思。主要用来从标准输入中通过替换或删除操作进行字符转换。只接受标准输入,不接受文件参数。
命令语法:
tr [–c/d/s/t] [SET1] [SET2]
参数解释:
SET1/SET2: 字符集 -c: complement,用SET2替换SET1中没有包含的字符
-d: delete,删除SET1中所有的字符,不转换
-s: squeeze-repeats,压缩SET1中重复的字符,即删除重复的字符
-t: truncate-set1,将SET1用SET2替换,一般缺省为-t -c:complement,用SET2替换SET1中没有包含的字符
栗子:
1. 压缩重复字符
只是把字符串中连续出现的字符压缩,并不是把相同的字符都去掉
echo deeelaaave | tr -s [a-z]
结果为:
delave
2. 删除换行符 \n
# tr.txt Learning Linux It's so simple
1)删除多余换行符,即中间的那些空白
只是输出改变了而已,tr.txt 文件的内容还是原来一样。
cat tr.txt | tr -s "\n"
结果为:
Learning Linux
It's so simple
2)删除所有换行符
cat tr.txt | tr -d "\n"
结果为:
Learning LinuxIt's so simple
3. 大小写转换
echo "MY NAME IS DELAV" | tr -t [A-Z] [a-z]
结果为:
my name is delav
当然也可以小写转换成大写
4. 删除指定字符
# tr.txt Python 2015.9 - 2018.11
Linux 2016.4 - 2018.11
C 2013.9 - 2014.9
Golang 2018.11 -
[0-9]表示所有数字,[.] [\-] [ ] 分别表示 [点 横杠 空格 ] 三个字符,横杠需要添加转义符
cat tr.txt | tr -d "[0-9][.][\-][ ]"
结果为
Python
Linux
C
Golang
5. 字符补集替换
-c:用换行符替换掉除了字母外的所有字符;-s:删除多余的换行符
cat tr.txt | tr -cs "[a-z][A-Z]" "\n"
结果为:
Python
Linux
C
Golang
shell的tr命令的更多相关文章
- SHELL脚本--tr命令用法和特性全解
bash&shell系列文章:http://www.cnblogs.com/f-ck-need-u/p/7048359.html 1.1 简介 tr主要用于将从标准输入读取的数据进行结果集映射 ...
- [shell基础]——tr命令
(1) tr 字符替换 测试文本内容 # cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4. ...
- tar命令,重定向,正则表达式,添加删除用户,tr命令,sort排序
rpm包仅用于 redhat suse redflag 若是源代码包的话,那就都适用linux下面的备份,差不多就是用tar打包 tar命令用途:制作归档文件,释放归档文件格式:tar [选项]... ...
- shell脚本之tr命令使用
tr命令用来进行对标准输入的内容做替换.例如 # echo 'HELLO WORLD!!!' | tr "A-Z" "a-z" hello world!!! 这 ...
- Linux shell tr 命令详解
该随笔摘自 https://www.jb51.net/article/103892.htm Linux shell tr 命令详解 1. 用途 tr,translate的简写,主要用于压缩重复字符,删 ...
- linux常用命令(shell脚本常用命令)(grep、cut、sort、uniq、seq、tr、basename、dirname)
本章命令: 1 2 3 4 5 6 grep cut sort uniq seq tr 1.grep 作用:过滤文本内容 选项 描述 -E :--extended--regexp 模式是扩展正则表达式 ...
- shell tr命令
tr 命令可以对来自标准输入的字符进行替换.压缩和删除. tr 指令从标准输入设备读取数据,经过字符串转译后,将结果输出到标准输出设备. tr 常用参数 -c # 用字符串1中字符集的补集替换此字符集 ...
- shell tr命令的使用
http://fyan.iteye.com/blog/1172279 tr是translate的简写,亦即翻译,但是遗憾的是,它不能翻译句子,只能翻译单个字符. 1 tr的工作原理是什么? 先记住一点 ...
- linux sort,uniq,cut,wc,tr命令详解
sort是在Linux里非常常用的一个命令,对指定文件进行排序.去除重复的行 sort 命令对 File 参数指定的文件中的行排序,并将结果写到标准输出.如果 File 参数指定多个文件,那么 sor ...
随机推荐
- day5 页面布局
1.主站 <div class='pg-header'> <div style='width:980px;margin:0 auto;'> 内容自动居中 </div> ...
- Eclipse 使用过程中的问题及解决方法
1.Eclipse中java文件和jsp字体大小设置 1.更改所有文件的字体显示大小过程: Window->preferences->General->Appearance-> ...
- hive 空值、NULL判断
hive中空值判断基本分两种 (1)NULL 与 \N hive在底层数据中如何保存和标识NULL,是由 alter table name SET SERDEPROPERTIES('serializa ...
- 强化学习读书笔记 - 13 - 策略梯度方法(Policy Gradient Methods)
强化学习读书笔记 - 13 - 策略梯度方法(Policy Gradient Methods) 学习笔记: Reinforcement Learning: An Introduction, Richa ...
- Appium+python HTML测试报告(1)(转)
(原文:https://www.cnblogs.com/fancy0158/p/10054632.html) 测试任务执行完成后,我们需要一份通俗易懂的测试报告来展示自动化测试的结果. HTMLTes ...
- spring-boot 项目整合logback
使用spring-boot项目中添加日志输出,java的日志输出一共有两个大的方案log4j/log4j2 ,logback.log4j2算是对log4j的一个升级版本. 常规做法是引入slf4j作为 ...
- 做程序开发的你如果经常用Redis,这些问题肯定会遇到
分布式缓存Redis是一种支持Key-Value等多种数据结构的存储系统.可用于缓存.事件发布或订阅.高速队列等多种场景.Redis使用ANSI C语言编写,提供字符串(String).哈希(Hash ...
- 技本功丨用短平快的方式告诉你:Flink-SQL的扩展实现
2019年1月28日,阿里云宣布开源“计算王牌”实时计算平台Blink回馈给ApacheFlink社区.官方称,计算延迟已经降到毫秒级,也就是你在浏览网页的时候,眨了一下眼睛,淘宝.天猫处理的信息已经 ...
- 【RL系列】马尔可夫决策过程——Jack‘s Car Rental
本篇请结合课本Reinforcement Learning: An Introduction学习 Jack's Car Rental是一个经典的应用马尔可夫决策过程的问题,翻译过来,我们就直接叫它“租 ...
- leetcode个人题解——#43 Multiply Strings
思路:高精度乘法就可以了. 有两个错误以前没在意,1.成员属性定义时候不能进行初始化, vector<); 这样隐性调用了函数进行初始化的形式特别要注意,也是错误的: 2.容器类只有分配了空间时 ...