**shell中tr的用法**

开发者福利!热门AI工具限时免费用 购周边即赠Coding Plan Lite,Claude Code、Cursor等20+工具畅享,效率翻倍! 阅读详情
 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
Saturday

Sunday

再来看一个例子:

[oracle@SOR_SYS~]$ echo 172.16.30.141|tr -cd .
...
You have new mail in /var/spool/mail/oracle
[oracle@SOR_SYS~]$ echo 172.16.30.141|tr -cd .|wc -c
3
[oracle@SOR_SYS~]$ 

TwinCAT3 主站动态配置 PDO 的实战技巧与性能优化 本文深入探讨了TwinCAT3主站动态配置PDO的实战技巧与性能优化策略。通过对比静态PDO的局限,阐述了动态配置在提升系统灵活性、降低网络负载和保障实时性方面的核心优势。文章提供了从环境准备、代码实现到错误排查的完整流程,并重点解析了PDO映射、SDO通道区别以及分布式时钟同步等关键概念,帮助工程师掌握EtherCAT网络性能调优的核心方法。 阅读详情

相关推荐

YOLOv11改进策略【Neck】| ASF-YOLO 注意力尺度序列融合模块改进颈部网络,提高小目标检测精度

ASF-YOLO是一种基于YOLO的新颖框架,结合了空间和尺度特征以实现准确和快速的分割。其中,注意力尺度序列融合模块。

Limiiiing的博客 4272

Shell 删除多余重复的字符(tr -s)

tr -s:删除多余重复的字符,只会删除相连的重复字符,最少会保留一位。 格式:tr -s "字符" # 删除多余的空格 $ echo "a b c d" | tr -s " " a b c d # 删除多余的 a 与 空格 $ echo "aaaaaab c d" | tr -s "a" | tr -s " " ab c d ...

卡尔特斯 2671

DeepSeek与YOLO融合技术的微信小程序实现方案

本文介绍了一个基于微信小程序和Flask后端的智能图像检测系统。系统采用DeepSeek-7B进行自然语言理解,YOLOv8执行目标检测,并通过融合验证模块确保结果准确性。核心流程包括:用户通过小程序上传图片和文本需求,后端解析意图后执行目标检测,最后验证并返回结果。关键技术包括DeepSeek的指令理解、动态阈值调整和模型优化(ONNX、TensorRT)。系统适用于工业质检等场景,如"检测表面划痕",能自动识别目标并验证结果。部署需GPU服务器,并包含安全机制保障系统稳定运行。

老郑的博客 248

shell】数值加减乘除|运算|字符串转数字|提取数字字母小数|大小写转换

数值计算 shell 包含三个命令:bc、expr、let可用于数值计算。 输入:整数,let和expr都无法进行浮点运算,但是bc和awk可以。 输出:bc、expr可直接显示计算结果;let则丢弃计算结果,可通过传递结果到变量,取变量值获得计算结果。 格式示例: bc [root@localhost ~]# echo 300 + 5 |bc 305 [root@localhost ~]# echo 300 - 5 |bc 295 [root@localhost ~]# echo.

我的笔记本 1万+

shell中常用的命令---tr命令

shell中常用的命令—tr命令 1.tr命令的用法 tr命令主要功能是转化 参数 说明 -c -C 字符串替换,要求字符集为ASCII -d 删除字符 -s 删除所有重复出现字符序列,只保留第一个(即将重复出现字符压缩为一个字符串) -t 删除第一字符集较第二字符集多出的字符 参数 说明 [:gidit:] 所有数字 [:graph:] 所有可...

nigar_的博客 641

linux shell tr命令,shell脚本中的tr用法

tr 用来从标准输入中通过替换或删除操作进行字符转换。tr 主要用于删除文件中控制字符或进行字符转换。使用tr时要转换两个字符串:字符串1用于查询,字符串2用于处理各种转换。tr刚执行时,字符串1中的字符被映射到字符串2中的字符,然后转换操作开始。带有最常用选项的t r命令格式为:tr-c -d -s["string1_to_translate_from" ] [ "string2_to_tr...

weixin_33326218的博客 2155

shell命令执行方式-----bash标准输入/出,及echo,tr,tee,管道,seq命令

本章内容: bash标准输入输出 echo命令 tr标准输入工具 管道 tee重定向 一.Bash的标准输入输出 1.名次解释(三种I/O设备) (1)标准输入(stdin): 键盘上的输入 文件描述符—>0 (2)标准输出(stdout):屏幕上正确的输出 文件描述符–>1 (3)标准错误(stderr):屏幕上错误的输出 文件描述符–>2 2. 相关符号 标准输出重定向,覆盖重定向,(一个 > 也有创建文件的作用) 1>或 > 标准输出重定向, 2>

weixin_45697293的博客 3792

shelltr用法讲解

trtranslate缩写)主要用于删除文件中的控制字符,或进行字符转换。 语法:tr [–c/d/s/t] [SET1] [SET2] SET1: 字符集1 SET2:字符集2 -c:complement,用SET2替换SET1中**没有包含的字符** -d:delete,删除SET1中所有的字符,不转换 -s: squeeze-repeats,压缩SET1中重复的字符 -t: truncat...

ChengYanan的博客 2082

shell中命令小工具:cut、sort、uniq,tr的使用方式

例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。cut—— 截列sort—— 排序uniq—— 去重(必须连续,常和 sort 联合)tr—— 替换 / 删除 / 压缩。

weixin_72487594的博客 1092

Shell编程:文本处理器(grep、sort、uniq、tr 命令)

本章讲解 `grep`、`sort`、`uniq`、`tr`、`cut`、`split`、`paste` 命令等。这些文本处理器通常用于数据过滤、转换、清理、格式化和提取等操作,是 Shell 脚本编程和数据处理任务中的核心工具。在 Unix/Linux 系统中,文本处理器可以独立使用,也可以通过管道 `|` 进行组合,构成强大的文本处理流水线。

shyuu的博客 1035

shell中常用的基础命令(diff;patch;cut;sort;uniq;tr;&&;||;test;)

1.diff 用法: diff [options] files|directorys 输出信息: [num1,num2][a|c|d][num3,num4] num1,num2 ##第一个文件中的行 a ##添加 c ##更改 d ##删除 < ##第一个文件中的内容 ##第二个文件中的内容 num3,num4 ##第二个文件中的行 常用参数: -b ##忽略空格 -B ##忽略空行 -i ##忽略大小写 -c ##显示文件所有内容并标示不同 -r ##对比目录 -u ##合并输出

ninimino的博客 259

Shell 基本命令操作(seq-序列、tr-转换、diff-比较)

shell 实现对字符串替换,序列化

梦幻通灵 2403

常用命令-tr、tee 和管道符

tr、tee 和管道符tr管道tee重定向中的符号 - tr 支持重定向,实现转换或删除字符功能 命令格式 tr [OPTION]… SET1 [SET2] 常用参数选项 -d --delete 删除所有属于第一字符集中的字符 -t --truncate-set1 将第一个字符集中对应的字符转化为第二个字符集中对应的字符 -s --squeeze-repeats 将连续重复的字符去重,以单独一个字符表示 -c -C --complement 取字符集的补集,取反 [字符1-字符2] 从字符1 到字符2 的

xiao_dan_的博客 1672

[Shell]常用shell命令及测试判断语句总结

介绍了常用内容显示(cat、head、tail、echo),文本处理(grep、sed、awk)、find(文件查找)、tr(字符处理);以及shell脚本语法(变量、条件测试、if、for语句等)

飞鹰技术 4620

shell

一 命令        1.  tr a. trtranslate的简写,亦即翻译,但是遗憾的是,它不能翻译句子,只能翻译单个字符  b. 先记住一点,tr命令不接受指定的文件参数,而只是对标准输入进行翻译。好了,记住这点后,我们继续。  c. tr的命令格式是tr SET1 SET2,凡是在SET1中的字符,都会被替换为SET2中相应位置上的字符,简单吧!       2.

chicher123的专栏 447

shell中常用的基础命令(diff、patch、cut、sort、tr、test)

Shell是指“为使用者提供操作界面”的软件(command interpreter,命令解析器),它接收用户命令,然后调用相应的应用程序。程序是由数据和逻辑组成的,脚本其实就是一个文本,对于遇到文本的升级,可以通过分析对比脚本的不同,然后进行打补丁。 一、diff 用法:diff [options] files|directorys 输出信息: [num1,num2][a|c|d][num3,num4] num1,num2 :第一个文件中的行 a :添加 c :更改 d :删除 < :第一个文.

qq_38664479的博客 675

shell_正则_变量_tr_awk_sed_cut(1)

正则表达式 特殊字符含义 . 匹配任意字符(汉字也行) * 匹配任意0,1,2次数 (wang)* 单词重复任意0,1,2次数 + 重复一次以上 x{n} 精确匹配n次, x{n,} 最少匹配n次 x{n,m} 匹配n到m次 x{,m}最多匹配m次 ?匹配0,1次(非贪婪模式) ^ 脱字符,匹配行首 $ 匹配行尾 \< , \b 以..首个字母或数字开始匹配(...

qq_39457834的博客 911

SHELL脚本初步了解

SHELL命令,以及SHELL脚本简单了解

kuangfeng的博客 212

Linux之文本处理小工具+shell从入门到精通

Shell脚本编程核心摘要 本文档全面介绍了Shell脚本编程的核心知识,主要包含以下内容: 文本处理工具:详细讲解grep、cut、sort、uniq等文本处理命令的用法和示例,包括正则表达式应用。 Shell基础特性:包括命令补全、常用快捷键、通配符使用和引号的三种类型(双引号、单引号、反撇号)。 变量管理:涵盖变量分类(本地/环境/全局/系统变量)、定义规则、数组使用、交互式变量定义和变量内容操作。 流程控制:包括if条件判断、for/while/until循环语句的语法结构和实际应用案例,如批量创建

小峰编程 921

shell——正则表达式

在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的工具。换句话说,正则表达式就是记录文本规则的代码。正则表达式(别称):正规表达式、常规表达式使用字符串来描述、匹配一系列符合某个规则的字符串cut命令从文件的每一行剪切字节、字符和字段,并将这些字节、字符和字段写至标准输出,如不制定File的参数,cut命令将会读取标准输入,所以必须要指定-b、-c或-f作为其标志。....................................

zhou641694375的博客 614

shell——命令扩展

&含义:可以使用exec命令创建自定义的文件描述符,用于复杂的输入输出管理。示例与注释$ exec 3> custom.log # 打开文件描述符3,并关联到文件 custom.log(用于写入)$ echo "这是一条日志" >&3 # 将内容写入文件描述符3,即写入 custom.log 文件$ exec 3>&- # 操作完成后,关闭文件描述符3这是一条日志# 注释:这个技巧在脚本中非常有用,例如可以同时将普通日志和详细调试日志分别写入不同的文件。

2503_93991036的博客 684

shell脚本数学运算,数组,文本处理

知识要点 数学运算 数组的使用 seq 、tr 、sort、uniq、cut等命令 整数运算 1.常用运算符 加法运算:+ 减法运算: - 乘法运算: * 除法运算: / 得到的是商例如1/2得到是0 求模(取余)运算: % 求幂运算:** bc中的幂运算符号是^ 2.常用整数运算 第一种 declare -i a=1020;echo a少用第二种a=a 少用 第二种 a=a少用...

qq_43028054的博客 589
上一篇: @ifconfig eth0|awk -F "[ :]+" 'NR==2{print $4 "/" $NF}'中"[ :]+" 是什么意思?@
下一篇: 导入证书的命令
紫颖
博客等级 码龄17年 929粉丝 238原创
评论 7
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值