【Linux】高效文本处理命令

目录

一.sort命令(排序)

1.语法格式

2.常用选项

3.相关示例

3.1.

3.2.

二.unip命令(去重)

1.语法格式

2.常用选项

3.相关示例

3.1.

3.2.

三.tr命令(替换)

1.语法格式

2.常用选项

3.相关示例

3.1.

4.删除空行

方法1

方法2

补充:

1.Windows的另起一行格式(\r\n)转换成 Linux的另起一行格式(\n)

方法1

方法2

2.对数组排序

四.cut命令(裁剪)

1.语法格式

2.常用选项

3.字符串分片 

3.1.

3.2.

3.3.

五.split命令(拆分)

1.语法格式

2.常用选项

3.拓展(面试题)

3.1.

3.2.

六.paste命令(合并)

1.语法格式

2.常用选项

3.补充(合并文件)

3.1.合并文件的行

3.2.合并文件的列

拓展:

eval命令(扫描)

相关示例


一.sort命令(排序)

  • 以行为单位对文件内容进行排序,也可以根据不同的数据类型来排序
  • 比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出

1.语法格式

sort [选项] 参数XXX | sort 选项

2.常用选项

-n按照数字的大小进行排序

-r

倒序排序(配合-n使用)
-u相当于下面的那个命令uniq,去重复的行(只保留一行重复内容)
-t指定字段的分隔符
-k指定排序的字段
-o<输出文件>另保存输出排序的结果(相当于重定向输出)
-f忽略大小写,把小写字母也当作大写字母看待
-b忽略每行前面的空格

3.相关示例

3.1.

sort -n
[root@localhost day15]# vim 1.txt
[root@localhost day15]# sort -n 1.txt
33
45
65
155 
353
545
888
9999
35653
65623
94545

3.2.

sort -n -r

二.unip命令(去重)

  • 用于报告或者忽略文件中连续的重复行,常与 sort 命令结合使用

1.语法格式

uniq [选项] 参数XXX | uniq 选项

2.常用选项

-c进行计数,并删除文件中重复出现的行
-u显示仅出现一次的行(包括不连续的重复行)
-d仅显示重复出现的行(必须是连续的重复行)

3.相关示例

3.1.

uniq  -c 

3.2.

uniq  -u

三.tr命令(替换)

  • 常用来对来自标准输入的字符进行替换、压缩和删除

1.语法格式

XXX | tr 选项 '参数1' ['参数2']

2.常用选项

-c保留字符集1的字符,其他字符包括换行符\n用字符集2替换
-d删除所有属于字符集1的字符
-s将连续重复的字符串压缩成一个
-t字符集2 替换 字符集1,不加选项效果相同

3.相关示例

3.1.

tr  -s

4.删除空行

方法1

cat 文件 | grep -v "^$"

方法2

cat 文件 | tr -s "\n"

补充:

1.Windows的另起一行格式(\r\n)转换成 Linux的另起一行格式(\n)

方法1

cat 文件 | tr -d '\r' > 新文件

方法2

yum install -y dos2unix 

2.对数组排序

echo ${数组名[@]} | tr ' ' '\n' | sort -rn | tr '\n' ' '

四.cut命令(裁剪)

  • 对字段进行截取和剪裁

1.语法格式

cut [选项] 参数cat file | cut [选项] 参数 

2.常用选项

-d '分隔符' -f 字段序号根据 -d 指定的分隔符的截取显示 -f 指定的字段
--complement取反,不显示 -f 指定的字段
--output-delimiter '分隔符'指定输出的字段分隔符
 

3.字符串分片 

3.1.

echo ${变量:下标:长度}                       下标起始从0开始

3.2.

echo $变量 | cut -b 起始下标-终止下标         下标起始从1开始

3.3.

expr substr $变量 起始下标 长度              下标起始从1开始

五.split命令(拆分)

  • 用于在Linux下将大文件拆分为若干小文件

1.语法格式

split 选项 参数 原始文件 拆分后文件名前缀

2.常用选项

-l根据行数分割文件
-b根据大小分割文件
-d输出的目标文件后缀用数字替代
 

3.拓展(面试题)

3.1.

如何将一个10G文件分割为10个1G的文件

 split -b 1G -d 原文件  目标文件名前缀

3.2.

如何将一个100行文件分割为10个10行的文件

split -l 10 -d 原文件  目标文件名前缀

六.paste命令(合并)

  • 将多个文件按照列进行合并

1.语法格式

paste   [选项]    文件1     文件2

2.常用选项

-d '分隔符' 指定输出的字段分隔符
-s将每个列横向输出

3.补充(合并文件)

3.1.合并文件的行

cat 文件1 文件2  ... > 新文件

3.2.合并文件的列

paste -d '分隔符' 文件1 文件2 ... > 新文件

拓展:

eval命令(扫描)

  • 在命令行执行前,先将命令行里的变量置换成对应的值后,再执行命令

相关示例

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

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

相关文章

TiDB学习2:TiDB Sever

目录 1. TiDB Server架构 2. sql语句的解析和编译 2.1 Parse ​编辑 2.2 compile 3. 行转化为KV对(聚簇表) ​编辑4. SQL 读写相关模块 4.1 DistSQL(复杂查询) 4.2 KV(简单查询) 5. 在线DDL相关模块 6. GC机制与相关模块 7. TiDB Server的缓存 8. 热点小表缓存 9. …

c++ fs::rename

【C 17 新特性 文件管理】探索C Filesystem库&#xff1a;文件和目录操作的全面指南&#xff08;一&#xff09;-阿里云开发者社区 fs::rename("old_directory", "new_directory"); 底层原理: 在Linux系统中&#xff0c;这通常通过rename系统调用来实现。…

做好串口控制是源代码防泄密的基础

在信息化时代&#xff0c;数据安全与保密工作的重要性日益凸显。尤其是在涉密单位&#xff0c;如军工、政府、金融等行业&#xff0c;防泄密工作直接关系到国家安全、社会稳定和企业利益。串口作为计算机与外部设备通信的重要接口&#xff0c;其安全性同样不容忽视。本文将探讨…

react18【系列实用教程】useMemo —— 缓存数据 (2024最新版)

为什么添加了 memo &#xff0c;子组件2依然重新渲染了呢&#xff1f; 因为父组件向子组件2传递了引用类型的数据 const userInfo {name: "朝阳",};<Child2 userInfo{userInfo} />memo() 函数的本质是通过校验Props中数据的内存地址是否改变来决定组件是否重新…

TEMU电商行情分析:未来趋势与盈利机遇探讨

近年来&#xff0c;跨境电商行业风起云涌&#xff0c;其中TEMU作为新兴力量&#xff0c;其市场表现备受关注。那么&#xff0c;TEMU电商现在的行情究竟如何?对于卖家而言&#xff0c;是否仍然是一个能够赚钱的平台呢? 首先&#xff0c;从市场趋势来看 TEMU电商正处于一个快速…

如何设计学术会议海报?

在参加学术会议的时候&#xff0c;制作一份会议海报来展示你的研究内容是十分必要的。海报是你与别人交流研究成果时的关键部分&#xff0c;也是成功科研生涯的重要元素。海报本身自带许多优秀的特质&#xff1a;思路清晰、内容精练&#xff0c;并且极易引起他人的兴趣。 一、…

vant添加列表, 日期选择总是填充到最后一个组内原因

添加多个行程, 无论在哪个行程上修改时间, 时间总是只显示在最后一个行程里 错误代码: <div class"journey"><divv-for"(item, index) in ruleform.hrms_business_item":key"index"><div class"journey-title">&l…

Python执行MYSQL SQL文件

很多情况下我们需要Python来执行SQL文件&#xff0c;但是一般库没有提供这些功能&#xff0c;直接执行经常会出错&#xff0c;这里分析各种情况下执行SQL语句的处理。如果你没有时间的话&#xff0c;直接跳转查看[第三点](#3. 包含DELIMITER的语句)。 准备工作 这里采用**mys…

Linux之函数应用实例--加法器

一、创建一个对2个整数求和的加法器 首先&#xff0c;定义了一个名为 adder 的 Bash 函数&#xff0c;该函数接受两个参数 $1 和 $2 并输出它们的和。 function adder { echo $[ $1$2 ] } 注意&#xff1a; function 关键字是可选的。在 Bash 中&#xff0c;可以简单地使…

近程无人机平台技术体系

近程无人机平台技术体系 1、技术体系1.1、专用技术体系固定翼技术体系旋翼技术体系复合翼技术体系扑翼技术体系倾转旋翼技术体系1.2、通用技术体系2、固定翼技术体系2.1、固定翼无人机介绍2.2、优势与局限2.3、固定翼专用体系介绍3、旋翼技术体系3.1、旋翼无人机介绍3.2、优势与…

前端 JS 经典:数组去重万能方法

前言&#xff1a;只需要掌握这一个方法&#xff0c;就可以对有任何重复的数据数组&#xff0c;进行去重了。 可以自己思考下&#xff0c;怎么对以下对象数组去重&#xff1a; const arr [{ a: 1, b: 2 },{ b: 2, a: 1 },{ a: 1, b: 2, c: { a: 1, b: 2 } },{ b: 2, a: 1, c:…

Geotrust哪种通配符证书800

Geotrust是成立了几十年的CA认证机构&#xff0c;每年都会通过WebTrust审计&#xff0c;旗下拥有各种类型的SSL数字证书产品&#xff0c;例如单域名SSL证书、多域名SSL证书和通配符SSL证书等。而为了更好地区分SSL证书产品&#xff0c;Geotrust旗下还分了几个子品牌&#xff0c…

解决项目下的lib包没有打进jar的问题

背景 项目在本地运行正常,发布到测试环境就不行,测试环境报缺少lib包下的类 解决方案 在项目的 pom.xml 文件中 <build></build> 标签下的 <resources></resources>标签中&#xff0c;加入以下代码&#xff0c;如&#xff1a; <build><res…

电池的一些UL认证标准

1、如今手机使用频率越来越高&#xff0c;充电器广泛地应用于交通上&#xff0c;为消费者提供充电的方便&#xff0c;汽车上的车充与我们产生了密切的联系&#xff0c;如果车充质量不好&#xff0c;可能会导致严重的后果&#xff0c;因此UL 2089标准着重于防止车充电击、燃烧&a…

MySQL存储引擎介绍

查看MySQL数据库中创建表的信息 如上图所示&#xff0c;当我们使用命令show create table server_info\G;可以显示我们所创建的表的信息&#xff0c;只显示两个字段&#xff0c;第一个字段是Table 即是创建的表的名称&#xff0c;第二个字段是Create Table即是创建的表的字段的…

Python中logging模块的使用

在Python中&#xff0c;logging模块提供了一个灵活的日志记录系统&#xff0c;用于将程序的输出信息分门别类地发送到不同的目的地。Logger对象是这个系统的核心&#xff0c;它负责创建日志消息。默认情况下&#xff0c;如果没有特别配置&#xff0c;Logger会将日志输出到标准错…

Redis过期删除策略和内存淘汰策略有什么区别?

Redis过期删除策略和内存淘汰策略有什么区别&#xff1f; 前言过期删除策略如何设置过期时间&#xff1f;如何判定 key 已过期了&#xff1f;过期删除策略有哪些&#xff1f;Redis 过期删除策略是什么&#xff1f; 内存淘汰策略如何设置 Redis 最大运行内存&#xff1f;Redis 内…

buildroot添加ssh功能

在制作了自己的buildroot生成的根文件系统之后&#xff0c;是没有ssh服务的&#xff0c;需要自行添加。 在buildroot的menuconfig里&#xff1a; Target packages -> Networking applications -> openssh 重新编译&#xff0c;还不能通过电脑连接&#xff0c;还需配置并…

xorg.conf 设置 集显 独显 英伟达 Ubuntu 风扇调速

使用集显做显示&#xff0c;使用独显做机器学习&#xff0c;那么xorg.conf如何配置&#xff1f; 如果配不好&#xff0c;那么会卡在欢迎登录界面&#xff0c;据说也会限制风扇调速的功能。 既然GPT时代了&#xff0c;那么我们就用AI加速一下&#xff0c;直接lspci | grep -i v…

ANSYS许可监控​

在工程设计与仿真领域&#xff0c;ANSYS软件作为行业翘楚&#xff0c;为企业提供了强大的支持。然而&#xff0c;随着业务规模的扩大和软件版本的升级&#xff0c;如何有效地监控ANSYS许可证的使用情况&#xff0c;确保合规性和资源的高效利用&#xff0c;成为企业面临的重要问…