前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Linux之tr命令

Linux之tr命令

原创
作者头像
入门笔记
修改于 2021-08-31 02:50:37
修改于 2021-08-31 02:50:37
1.9K0
举报
文章被收录于专栏:入门小站入门小站

将字符进行替换压缩和删除,tr命令 可以对来自标准输入的字符进行替换、压缩和删除。它可以将一组字符变成另一组字符,经常用来编写优美的单行命令,作用很强大。

命令语法

tr [选项] [字符串1] [字符串2]

命令选项

  • -c或——complerment:取代所有不属于第一字符集的字符;
  • -d或——delete:删除所有属于第一字符集的字符;
  • -s或--squeeze-repeats:把连续重复的字符以单独一个字符表示;
  • -t或--truncate-set1:先删除第一字符集较第二字符集多出的字符。

命令参数

  • 字符集1:指定要转换或删除的原字符集。当执行转换操作时,必须使用参数“字符集2”指定转换的目标字符集。但执行删除操作时,不需要参数“字符集2”;
  • 字符集2:指定要转换成的目标字符集。

将输入字符由大写转换为小写

代码语言:txt
AI代码解释
复制
> echo "HELLO WORLD" | tr 'A-Z' 'a-z'
hello world

'A-Z' 和 'a-z'都是集合,集合是可以自己制定的,例如:'ABD-}'、'bB.,'、'a-de-h'、'a-c0-9'都属于集合,集合里可以使用'\n'、'\t',可以可以使用其他ASCII字符。

使用tr删除字符

代码语言:txt
AI代码解释
复制
> echo "hello 123 world 456" | tr -d '0-9'
hello  world 

将制表符转换为空格:

代码语言:txt
AI代码解释
复制
> cat text | tr '\t' ''

字符集补集,从输入文本中将不在补集中的所有字符删除:

代码语言:txt
AI代码解释
复制
> echo aa.,a 1 b#$bb 2 c*/cc 3 ddd 4 | tr -d -c '0-9 \n'
 1  2  3  4

此例中,补集中包含了数字0~9、空格和换行符\n,所以没有被删除,其他字符全部被删除了。

用tr压缩字符,可以压缩输入中重复的字符:

代码语言:txt
AI代码解释
复制
> echo "thissss is      a text linnnnnnne." | tr -s ' sn'
this is a text line.

删除Windows文件“造成”的'^M'字符:

代码语言:txt
AI代码解释
复制
> cat a.log | tr "\r" "\n" > b.log
//或者
> cat a.log | tr -d "\r" > b.log

删除文件中的空行

代码语言:txt
AI代码解释
复制
> echo -e "1\n\n\n2\n\n\n3\n\n\n" | tr -s '\n'
1
2
3

将多行内容合并为一行

代码语言:txt
AI代码解释
复制
> echo -e "1\n\n\n2\n\n\n3\n\n\n" | tr -d '\n'
123

将多个连续空格合并为一个空格,并将空格替换为破折号-

代码语言:txt
AI代码解释
复制
> echo "2021      03  01" |tr -s ' ' '-'
2021-03-01

删除非数字字符

代码语言:txt
AI代码解释
复制
> echo "2021assefdf03fff01" |tr -d -c '[0-9]'
20210301

原文链接:https://rumenz.com/rumenbiji/linux-tr.html

微信公众号:入门小站

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
linux命令讲解大全】087.掌握Linux命令tr的字符替换和压缩技巧
tr命令可以对来自标准输入的字符进行替换、压缩和删除。它可以将一组字符变成另一组字符,经常用来编写优美的单行命令,作用很强大。
全栈若城
2024/03/02
1650
Linux 命令 | 每日一学,文本处理之内容分割排序实践
描述:用来显示行中的指定部分,删除文件中指定字段,在文件的每一行中提取片断, 在每个文件 FILE 的各行中, 把提取的片断显示在标准输出。
全栈工程师修炼指南
2024/09/24
1790
Linux 命令 | 每日一学,文本处理之内容分割排序实践
linux文本处理工具及正则表达式
                   -c 或——complerment :取字符集的补集
yuezhimi
2020/09/30
5710
Shell脚本常用命令一览
描述:bash 是一个为GNU计划编写的Unix shell,它的名字是一系列缩写Bourne-Again SHell — 这是关于Bourne shell(sh)的一个双关语(Bourne again / Born again), Bash不但与Bourne Shell兼容,还继承了C Shell、Korn Shell等优点。
全栈工程师修炼指南
2022/09/28
1.3K0
Shell脚本常用命令一览
Shell脚本常用命令一览
描述:bash 是一个为GNU计划编写的Unix shell,它的名字是一系列缩写Bourne-Again SHell — 这是关于Bourne shell(sh)的一个双关语(Bourne again / Born again), Bash不但与Bourne Shell兼容,还继承了C Shell、Korn Shell等优点。
全栈工程师修炼指南
2020/10/26
2K0
Shell脚本常用命令一览
Linux指令入门-文本处理
vim有三种操作模式,分别是命令模式(Command mode)、输入模式(Insert mode)和底线命令模式(Last line mode)。
乐心湖
2020/07/31
3.7K0
Linux指令入门-文本处理
linux19-详说linux文本处理(二)
继续总结一下linux 的文本处理。包括但不限于awk, sed, paste,split,grep....
北野茶缸子
2022/05/19
8680
linux19-详说linux文本处理(二)
常用简单命令_bash笔记2
感谢支持ayqy个人订阅号,每周义务推送1篇(only unique one)原创精品博文,话题包括但不限于前端、Node、Android、数学(WebGL)、语文(课外书读后感)、英语(文档翻译) 如果觉得弱水三千,一瓢太少,可以去 http://blog.ayqy.net 看个痛快
ayqy贾杰
2023/03/15
5610
常用简单命令_bash笔记2
【linux工具】多行文本转一行处理技巧
这个命令组合实际上并不是很有效,因为 xargs 和 sed 两者的组合有些冗余。如果目标是将多行内容转换为单行并使用特定分隔符,那么使用 paste 或其他方法可能更为简洁。
fankhu
2023/10/10
8520
Linux命令(41)——tr命令
tr用来转换或者删除一段文字。tr是translate(转换的缩写),功能的英文示意是:translate or delete characters。tr所有的功能均可由sed来完成,可以将tr视为sed一个极简的实现。
恋喵大鲤鱼
2018/08/03
3.5K0
shell脚本中常用命令复习
shell脚本可以让降低大家的工作强度,提升大家的管理能力和薪资报酬,还可以让大家有时间学习提升自己,更能让你有时间喝茶撩妹子。所以,学好shell那就是非常必要的啦,那么在学习shell之前我们得热热身,做一下准备工作了。
星哥玩云
2022/09/15
8430
tr命令
tr命令用于转换或删除文件中的字符,可以读文件也可以从标准输入设备读取数据,经过字符串转译后,将结果输出到标准输出设备。
WindRunnerMax
2021/01/08
1.3K0
常用文本工具cut、wc、sort、uniq、tr
语法: cut -d ‘分隔符’ [-cf] n [filename] (这里n是正整数) -d:指定分隔符号 -f:指定第几段 -c:后面只有一个数字表示截取第几个字符;后面跟一个数字区域,表示截取从几到几(该选项不和d,f共同使用)
阿dai学长
2019/04/03
1K0
Shell实用命令
1.查看一个文件中的域名出现个数,并且按照次数从高到低 cat test2 | cut -d "/" -f 3 | uniq -c | sort-n | sort -nr
huolong
2023/05/16
3040
Shell实用命令
shell_正则_变量_tr_awk_sed_cut(1)
文章目录 正则表达式 特殊字符含义 匹配规则组合 ifconfig的用法 执行脚本的几种方式(bash shell) vim配置文件自动设置脚本文件头 脚本调试 变量 shell语言的特点 强类型语言 弱类型语言 局部变量 全局变量 删除变量 查看变量 练习 1.编写脚本/root/bin/systeminfo.sh, 显示当前主机系统信息,包括主机名,Ipv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小 tr - ( c d s) awk 文本处理工具 sed sed实例 以行为单位的新增
以某
2023/03/07
1.1K0
linux运维中的命令梳理(三)
----------文本操作命令---------- sed命令:文本编辑工具 sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换、删除、新增、选取等特定工作,下面先了解一下sed的用法 sed命令行格式为: sed [-nefri] ‘command’ 输入文本 常用选项: -n∶使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN的资料一般都会被列出到萤幕上。但如果加上 -n 参数
洗尽了浮华
2018/01/23
8.1K0
Linux之find命令的参数详解
find 常见的注意事项 使用name选项 文件名选项是find命令最常用的选项,要么单独使用该选项,要么和其他选项一起使用。 可以使用某种文件名模式来匹配文件,记住要用引号将文件名模式引起来。 不管当前路径是什么,如果想要在自己的根目录$HOME中查找文件名符合*.log的文件,使用~作为 'pathname'参数,波浪号~代表了当前用户的家目录。 查找当前登录用户家目录的.log文件 > find ~ -name "*.log" 查找当前目录下以大写字母开头的文件 > find . -name "[
入门笔记
2021/03/07
2K0
Linux之find命令的参数详解
ind 常见的注意事项 使用name选项 文件名选项是find命令最常用的选项,要么单独使用该选项,要么和其他选项一起使用。 可以使用某种文件名模式来匹配文件,记住要用引号将文件名模式引起来。 不管当前路径是什么,如果想要在自己的根目录$HOME中查找文件名符合*.log的文件,使用~作为 ‘pathname’参数,波浪号~代表了当前用户的家目录。 查找当前登录用户家目录的.log文件 > find ~ -name "*.log" 查找当前目录下以大写字母开头的文件 > find . -name "[A-Z
玖柒的小窝
2021/10/21
6970
Linux 命令 | tr
此命令将 linyi.txt 文件的内容通过管道符传递给 tr 命令进行转换,转换后的结果输出到终端上。
小林C语言
2023/09/14
2940
Linux 命令 | tr
linux学习第二十五篇:cut,sort,wc,uniq,tee,tr,split命令,shell特殊符号
* 任意个任意字符 ? 任意一个字符 # 注释字符 \ 脱义字符 | 管道符 find /etc/ -type f -name “*conf” -exec cat {} >> 1.txt \; //在
用户1215343
2018/02/05
1.6K0
相关推荐
linux命令讲解大全】087.掌握Linux命令tr的字符替换和压缩技巧
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文