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命令的更多相关文章

  1. SHELL脚本--tr命令用法和特性全解

    bash&shell系列文章:http://www.cnblogs.com/f-ck-need-u/p/7048359.html 1.1 简介 tr主要用于将从标准输入读取的数据进行结果集映射 ...

  2. [shell基础]——tr命令

    (1) tr 字符替换 测试文本内容 # cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4. ...

  3. tar命令,重定向,正则表达式,添加删除用户,tr命令,sort排序

    rpm包仅用于 redhat suse redflag 若是源代码包的话,那就都适用linux下面的备份,差不多就是用tar打包 tar命令用途:制作归档文件,释放归档文件格式:tar [选项]... ...

  4. shell脚本之tr命令使用

    tr命令用来进行对标准输入的内容做替换.例如 # echo 'HELLO WORLD!!!' | tr "A-Z" "a-z" hello world!!! 这 ...

  5. Linux shell tr 命令详解

    该随笔摘自 https://www.jb51.net/article/103892.htm Linux shell tr 命令详解 1. 用途 tr,translate的简写,主要用于压缩重复字符,删 ...

  6. 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 模式是扩展正则表达式 ...

  7. shell tr命令

    tr 命令可以对来自标准输入的字符进行替换.压缩和删除. tr 指令从标准输入设备读取数据,经过字符串转译后,将结果输出到标准输出设备. tr 常用参数 -c # 用字符串1中字符集的补集替换此字符集 ...

  8. shell tr命令的使用

    http://fyan.iteye.com/blog/1172279 tr是translate的简写,亦即翻译,但是遗憾的是,它不能翻译句子,只能翻译单个字符. 1 tr的工作原理是什么? 先记住一点 ...

  9. linux sort,uniq,cut,wc,tr命令详解

    sort是在Linux里非常常用的一个命令,对指定文件进行排序.去除重复的行 sort 命令对 File 参数指定的文件中的行排序,并将结果写到标准输出.如果 File 参数指定多个文件,那么 sor ...

随机推荐

  1. 【LG3242】 [HNOI2015]接水果

    题面 洛谷 题解 20pts 对于\(n,P,Q\leq 3000\),暴力判断每条路径的包含关系然后排序\(kth\)即可,复杂度\(O(PQ\log P)\) 另30pts 原树为一条链. 发现对 ...

  2. Zabbix学习之路(一)之Zabbix安装

    一.Zabbix环境准备 [root@linux-node1 ~]# cat /etc/redhat-release CentOS Linux release (Core) [root@linux-n ...

  3. 如何下载YouTube 60fps视频

    YouTube上面不仅支持分辨率为4K和8K的视频,同时也开启了对60fps视频的支持.60帧的视频广泛用于游戏和体育视频中,使视频看起来更加流畅和细腻.对游戏玩家来说,YouTube对60fps支持 ...

  4. python根据正则表达式的简单爬虫

    今天根据正则表达式简单的爬了一下大众点评,把北京的美食爬了爬,(店铺名,人均消费,地址) import re import urllib.request from urllib.request imp ...

  5. WPF获取窗口句柄

    通过WPF的互操作帮助类WindowInteropHelper,相关连接:https://msdn.microsoft.com/zh-cn/library/system.windows.interop ...

  6. Mybatis-Plus的填坑之路 - Lynwood/wunian7yulian

    目录 Mybatis-Plus 我来填坑~ 目录 一.简单介绍 官方说明 : 成绩: 最新版本: 开发层面MyBatis-Plus特色 Mybatis-Plus中的Plus 二.MP的特性 三.MP框 ...

  7. 2019CSUST集训队选拔赛题解(一)

    来自ppq的毒瘤线段树 Sneakers   Description 有一天喜欢买鞋的ppq和小伙伴来到了某一家球鞋店,球鞋店有n种球鞋,价格分别为ai,ppq在鞋店兜兜转转,发现鞋店老板会偶尔将某段 ...

  8. leetcode个人题解——#31 Next Permutation

    写这题时脑子比较混乱,重写了一遍wiki大佬的解法. 算法: According to Wikipedia, a man named Narayana Pandita presented the fo ...

  9. JavaScript/Jquery:Validform 验证表单的相关属性解释

    当我们写提交表单的时候往往需要验证表单是否填写了内容,是否正确,这个插件可以很方便的完成我们需要的验证! 使用方法: 1.先引用js <script type="text/javasc ...

  10. 遗传算法中几种不同选择算子及Python实现

    前言 本文对遗传算法中的几种选择策略进行了总结, 其中包括: Proportionate Roulette Wheel Selection Linear Ranking Selection Expon ...