Linux命令200例:tr用于对输入的文本进行字符转换、删除、替换等

news2024/11/28 22:40:32

在这里插入图片描述

🏆作者简介,黑夜开发者,全栈领域新星创作者✌。CSDN专家博主,阿里云社区专家博主,2023年6月csdn上海赛道top4。
🏆数年电商行业从业经验,历任核心研发工程师,项目技术负责人。
🏆本文已收录于专栏:Linux命令大全。
🏆本专栏我们会通过具体的系统的命令讲解加上鲜活的实操案例对各个命令进行深入讲解。欢迎提前锁定关注。
🎉欢迎 👍点赞✍评论⭐收藏

文章目录

  • 一、简介
  • 二、语法
  • 三、实际例子
    • 3.1 将小写字母转换为大写字母
    • 3.2 删除指定字符集合
    • 3.3 替换字符
    • 3.4 删除重复字符
    • 3.5 将空格替换为换行符
    • 3.6 删除非字母字符
    • 3.7 将制表符转换为空格
    • 3.8 将文本内容按行排序
  • 四、总结


一、简介

Linux tr 命令是一种文本处理工具,用于对输入的文本进行字符转换、删除、替换等操作。tr 是 “translate”
的缩写,其功能类似于 Unix 中的 translate(翻译)命令。

二、语法

tr 命令的基本语法如下:

tr [OPTION]... SET1 [SET2]

其中,OPTION 是可选参数;SET1 是要被替换的字符集合;SET2 是用于替换的字符集合。

三、实际例子

下面给出8个使用 tr 命令的实际例子,展示其强大的文本处理能力。

3.1 将小写字母转换为大写字母

echo "hello world" | tr '[:lower:]' '[:upper:]'

输出结果:

HELLO WORLD

3.2 删除指定字符集合

echo "hello world" | tr -d 'aeiou'

输出结果:

hll wrld

3.3 替换字符

echo "hello world" | tr 'l' 'L'

输出结果:

heLLo worLd

3.4 删除重复字符

echo "hello world" | tr -s 'l'

输出结果:

helo world

3.5 将空格替换为换行符

echo "hello world" | tr ' ' '\n'

输出结果:

hello
world

3.6 删除非字母字符

echo "hello, world!" | tr -cd '[:alpha:]'

输出结果:

helloworld

3.7 将制表符转换为空格

cat file.txt | tr '\t' ' '

输出结果将 file.txt 中的制表符替换为空格。

3.8 将文本内容按行排序

cat file.txt | tr '\n' '\0' | xargs -0 | tr ' ' '\n' | sort

通过将换行符替换为空字符,然后使用 xargs 命令进行处理,最后再将空格替换回换行符,实现对文本内容的按行排序。

四、总结

tr 命令是一种功能强大的文本处理工具,在 Linux 系统中被广泛使用。它可以用于字符转换、删除、替换等操作,提供了灵活的选项和参数,满足各种文本处理需求。本文介绍了 tr 命令的基本语法,并给出了8个实际的例子,展示了其在文本处理中的应用场景。希望各位老铁通过学习本文能够更好地理解和使用 tr 命令,提高在 Linux 环境下的文本处理能力。在实际工作中,只有不断使用才能记忆深刻。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/843605.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

龙架构 Arch Linux 发行版发布

导读近日,龙架构 Arch Linux 发行版官方网站宣布结束 beta 状态,正式支持龙架构 (LoongArch)。 Arch Linux 是一种轻量级、可定制、灵活的 Linux 操作系统。作为一款简单、现代、开放的操作系统,Arch Linux 旨在基于 “KISS 原则”&#xff0…

2020年12月 Python(一级)真题解析#中国电子学会#全国青少年软件编程等级考试

一、单选题 第1题 执行语句print(1010.0)的结果为? A:10 B:10.0 C:True D:False 正确的答案是 C:True。 解析:在Python中,比较运算符 “” 用于比较两个值是否相等。在这个特…

解释器模式(Interpreter)

解释器模式是一种行为设计模式,可以解释语言的语法或表达式。给定一个语言,定义它的文法的一种表示,然后定义一个解释器,使用该文法来解释语言中的句子。解释器模式提供了评估语言的语法或表达式的方式。 Interpreter is a behav…

以太网ICMP协议(九)

目录 一、概述 二、ICMP消息类型 2.1 ICMP类型0和类型8:Ping功能 2.2 ICMP类型3:目标不可达 2.3 ICMP类型5:重定向 2.4 ICMP类型11:超时 三、报文格式 一、概述 由于IP协议是不可靠的通信协议,需要有其他协议的…

线程池的使用案例一

一、配置线程池 1、不推荐的方式 ExecutorService executorService Executors.newFixedThreadPool(); // 创建⼀个固定⼤⼩的线程池,可控制并发的线程数,超出的线程会在队列中等待; ExecutorService executorService Executors.newCache…

无监督SLAM框架

因为之前做过双目立体匹配相关项目,当时就了解到有一些无监督方法。最近涉及到SLAM相关项目,想到理论上可以用photo loss无监督学习光流和pose,因此查看了有没有SLAM无监督的相关论文。发现确实有几篇论文。但总感觉设计的不是很好&#xff0…

【计算机视觉|风格迁移】PP-GAN:使用GAN的地标提取器将韩国人像的风格转化为身份证照片

本系列博文为深度学习/计算机视觉论文笔记,转载请注明出处 标题:PP-GAN : Style Transfer from Korean Portraits to ID Photos Using Landmark Extractor with GAN 链接:[2306.13418] PP-GAN : Style Transfer from Korean Portraits to ID…

单元测试、接口测试、功能测试的区别

单元测试、接口测试、功能测试的区别 自动化测试分为单元自动化测试、接口自动化测试和功能自动化测试 功能测试的进行:首先编写测试用例,测试用例中最主要的是测试步骤和预期结果;测试人员根据测试用例执行操作步骤,然后通过眼睛…

想知道程序员工资最高的城市吗?来看看这10个城市排名吧

大家好,这里是程序员晚枫。 在下班回家的路上,又和同事聊起重庆工资不高的问题,那么国内哪些城市程序员工资最高呢?今天我们一起来看一下:我国程序员工资最高的前10个城市。 以下是我国程序员工资最高的前10个城市&a…

使用 POI 在 Word 中重新开始编号、自定义标题格式

效果图 引入依赖 <!-- https://mvnrepository.com/artifact/org.apache.poi/poi --><dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>4.1.2</version></dependency><!-- https…

刷题笔记 day8

1004 最大连续1的个数 III 这道题要求将原数组中的0翻转成1&#xff0c;求出最大元素全是1的子数组长度&#xff0c;看这道题第一感觉还要将里面的0变成1&#xff0c;感觉这道题解决起来很麻烦&#xff0c;但是我们可以转变思路&#xff0c;找出其最大子数组&#xff0c;使得子…

git 版本管理工具 学习笔记

git 学习笔记 目录 一、git是什么 二、创建仓库 三、工作区域和文件状态 四、添加和提交文件 五、回退版本 &#xff08;了解&#xff09; 六、查看差异 七、删除文件 八、.gitignore文件&#xff08;了解&#xff09; 九、github ssh-key配置 十、本地仓库和远程仓库内…

Shell - 备份mysql的N种姿势

文章目录 mysqldump --help备份mysql的N种姿势 mysqldump --help mysqldump 是一个常用的命令行工具&#xff0c;用于备份和还原 MySQL 数据库。 [rootVM-24-3-centos blg]# mysqldump --help mysqldump Ver 10.13 Distrib 5.6.50, for Linux (x86_64) Copyright (c) 2000,…

node爬取中国行政区域geo数据

依赖 {"dependencies": {"axios": "^1.4.0","colors": "^1.4.0","express": "^4.18.2","fs": "^0.0.1-security"} }数据来源 https://datav.aliyun.com/portal/school/atlas/are…

数据可视化(八)堆叠图,双y轴,热力图

1.双y轴绘制 #双Y轴可视化数据分析图表 #add_subplot() dfpd.read_excel(mrbook.xlsx) x[i for i in range(1,7)] y1df[销量] y2df[rate] #用来正常显示负号 plt.rcParams[axes.unicode_minus]False figplt.figure() ax1fig.add_subplot(1,1,1)#一行一列&#xff0c;第一个区域…

《Zookeeper》从零开始学Zookeeper源码(二)之数据序列化与通信协议

目录 序列化与反序列化通信协议请求头的数据结构响应头的数据结构 序列化与反序列化 zookeeper的客户端与服务端、服务端与服务端之间会进行一系列的网络通信&#xff0c;在进行数据的传输过程中就涉及到序列化与反序列化&#xff0c;zookeeper使用Jute作为它的序列化组件&…

FreeRTOS的线程间通信

一、分类 FreeRTOS的线程间通信分为这几大类 由于我还在学习中&#xff0c;目前显从信号开始记录学习 二、逐块讲解 1、信号&#xff08;osSignalWait osSignalSet&#xff09; FreeRTOS从V8.2.0版本开始提供任务通知这个功能&#xff0c;每个任务多有一个32位的通知值&am…

OLAP ModelKit Crack,ADO.NET和IList

OLAP ModelKit Crack,ADO.NET和IList OLAP ModelKit是一个多功能的.NET OLAP组件&#xff0c;用C#编写&#xff0c;只包含100%托管代码。它具有XP主题的外观&#xff0c;并能够使用任何.NET数据源(ADO.NET和IList)。借助任何第三方组件(尤其是图表组件)呈现数据的能力扩展了产品…

flink kafka消费者如何处理kafka主题的rebalance

背景&#xff1a; 我们日常使用kafka客户端消费kafka主题的消息时&#xff0c;当消费者退出/加入消费者组&#xff0c;kafka主题分区数有变等事件发生时&#xff0c;都会导致rebalance的发生&#xff0c;此时一般情况下&#xff0c;如果我们不自己处理offset&#xff0c;我们不…

那些被忽视的Python核心功能...

最实用、最简单、最优美……近些年&#xff0c;大家学习Python的热潮从未消退&#xff1b;无论是数据分析还是科学计算都少不了Python的身影。 Python也没有让人失望&#xff0c;Java用100行代码写出的程序&#xff0c;用Python十行就能搞定&#xff01; 当你要说Hello World…