grep及文本处理命令

news2024/11/25 23:03:20

正则表达式

一.基础命令

1.grep命令

对文本的内容进行过滤,针对行处理

1.1grep格式

grep [选项]…查找条件 目标文件

1.2grep命令选项

-m+数字——————匹配几次后停止

eg:grep -m 1 root /etc/passwd————————————多个匹配只取

在这里插入图片描述

-v  ————————取反

eg:grep -v root /etc/passwd————————————————除了root其余展示出来
在这里插入图片描述

-i —————————忽略字符大小写

eg:grep -i Root /etc/passwd————————————————不考虑大小写展示出来

在这里插入图片描述

-n——————————显示匹配行号

eg:grep -n root /etc/passwd

在这里插入图片描述

-c—————————只显示匹配行号

eg:grep -c root /etc/passwd

在这里插入图片描述

-o——————————仅显示匹配到的字符串

eg:grep -o root /etc/passwd

在这里插入图片描述

-A——————————匹配自身当前行的后三行,包含自身展示出来

eg:grep -A 3 zjf /etc/passwd

在这里插入图片描述

-B————————————自身前几行包含自身展示

eg:grep -B 3 zjf /etc/passwd

在这里插入图片描述

-C————————————本身的前三行和后三行以及本身展示出

eg:grep -C 3 zjf /etc/passwd

在这里插入图片描述

-e——————————————逻辑或,可以跟多个条件,若有显示,没有不显示

eg:grep -e root -e bash /etc/passwd

在这里插入图片描述

-w————————————匹配整个单词

eg:grep -w root /etc/passwd
在这里插入图片描述

-E——————————表示使用扩展正则相当于egrep
-f——————————根据模式文件处理两个文件的相同内容,第一个文件作为匹配条件

eg:grep -f 123.txt 456.txt

在这里插入图片描述

-r——————————递归目录文件当中的文件内容所包含的想要的文件内容
不对软链接处理

eg:grep -r a /opt/

在这里插入图片描述

-R——————————可以处理软链接中的文件内容

eg:grep -R a /opt/

在这里插入图片描述

2.特殊的符号

2.1空行——^$

示例:
在这里插入图片描述

cat 123.txt | grep -v "^$" > test.txt————过滤掉123.txt里的空行将内容传送给test.txt

在这里插入图片描述

2.2以什么为开头—^,以什么为结尾—$

2.2.1以什么为开头的格式:

grep “^所要让开头的字符” 文件名

示例:

grep "^4" 123.txt

 grep "^a" 123.txt 

在这里插入图片描述

2.2.2以什么为结尾的格式:

grep “^所要让开头的字符” 文件名

示例:

grep "h$" 123.txt 

在这里插入图片描述

3.只匹配单行——^匹配的字符$

格式:
^匹配的字符$

示例:

grep -n "^root$" dh.txt

在这里插入图片描述

二.文本处理命令

1.sort命令

1.1命令解释及格式

以行为单位对文件内容进行排序,也可以根据不同的数据类型来排序

语法格式:

sort 选项 参数

1.2常用选项

-f————————————————忽略大小写,默认会大写字母排在前面

eg:sort -f test.txt

在这里插入图片描述

-b——————————————只排序不会忽略空格,忽略每行前面的空格

eg:sort -b test.txt

在这里插入图片描述

-n:按照数字进行排序

eg:sort -n test.txt
在这里插入图片描述

-r:针对字母的反向排序

eg:sort -r test.txt
在这里插入图片描述

-u:等同uniq,表示相同的数据仅显示一行,去重

eg:sort -u test.txt
在这里插入图片描述

-o <输出文件>:将排序后的结果转存至指定文件

eg:cat /opt/test.txt | sort -o zjf.txt

在这里插入图片描述

按原来的行一模一样的传到新的文件

在这里插入图片描述

2.uniq命令——快捷去重

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

2.1 格式

uniq [选项] 参数
cat 文件| uniq 选项

2.2常用选项

-c——————————————统计连续重复的行的次数,并且合并重复的行

eg:uniq -c test1.txt

在这里插入图片描述

去重排序:

cat test1.txt | uniq -c test1.txt | sort -n

在这里插入图片描述

-u——————————————显示仅出现一次的行(包括不连续的重复行)

eg:uniq -u test1.txt

在这里插入图片描述

-d	仅显示重复出现的行(必须是连续的重复行)

eg:uniq -d test1.txt

在这里插入图片描述

3.tr命令

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

参数:

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

字符集2:
指定要转换成的目标字符集

3.1语法格式:

tr 选项 参数

3.2常用选项:

-c:保留字符集1的字符,其他的字符(包括换行符\n)用字符集2替换

eg:echo abc | tr -c ‘ab’ ‘a’

在这里插入图片描述

-d:删除所有属于字符集1的字符

eg:echo abc | tr -d ‘ab’————————删除ab,打印c

在这里插入图片描述

-s:将重复出现的字符串压缩为一个字符串,用字符集2 替换 字符集1

eg:cat xx.txt | tr -s “w” “b”

在这里插入图片描述

-t:字符集2 替换 字符集1,不加也行

eg:echo 192.168.198.11 | tr “.” “:”

在这里插入图片描述

echo 192.168.198.11 | tr -d “.”

在这里插入图片描述

将 echo $PATH中的":"替换为换行

在这里插入图片描述

4.cut命令——快速裁剪

4.1cut截取方法

cut截取方法
对字段进行截取和剪裁

4.2格式

格式一:cut [选项] 参数
格式二:cat 文件名 | cut [选项]

4.3选项

-d	          指定分隔符(默认分隔符为Tab)
-f 	          按字段进行截取。指定第n个字段;
-b	          以字节为单位进行截取
-c	          以字符为单位进行截取
–complement	  排除所指定的字段
–output-delimiter	更改输出内容的分隔符

4.4示例

(1)cut -d ":" -f 1-3 /etc/passwd————————以":"作为分隔符,指定第一个到第三个字段进行输出
cat /etc/passwd | cut -d ":" -f 1-3

在这里插入图片描述

 head -n 2 /etc/passwd | cut -d ":" --complement -f 2————————指定以":"作为分隔符,但是删除了第二个字段进行输出

在这里插入图片描述

 head -n 2 /etc/passwd | cut -d ":" --complement -f 1-5 --output-delimiter="@"——————————将分隔符转换为@,进行输出

在这里插入图片描述

5.split——文件拆分

split命令用于在Linux下将大文件拆分为若干小文件。

5.1格式

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

5.2选项

-l	指定行数对文件拆分
-b	指定文件的大小拆分

5.3示例

split -l 20 test6.txt sc
split -b 2m test6.txt dx

在这里插入图片描述

6.paste——合并文件

按照字段来进行文件的合并

6.1格式

paste [选项] 文件1 文件2

6.2选项

-d	用于指定文件的分隔符(默认情况下为制表符"\n")
-s	将列和行的内容进行互相交换

paste和cat合并有什么区别

cat是上下合并

paste是左右合并

在这里插入图片描述

7.拓展

7.1统计当前主机的连接状态

ss -nta | grep -v ‘^State’ |cut -d " " -f 1| sort | uniq -c
3 ESTAB #表示建立的 TCP 连接处于活动状态
17 LISTEN

7.2统计当前连接主机数

ss -nt | tr -s " "|cut -d " " -f 5 | sort -n | uniq -c
1 Local
2 192.168.233.21:22

[选项] 文件1 文件2

6.2选项

-d	用于指定文件的分隔符(默认情况下为制表符"\n")
-s	将列和行的内容进行互相交换

paste和cat合并有什么区别

cat是上下合并

paste是左右合并

[外链图片转存中…(img-sdw2mqHo-1686645924998)]

7.拓展

7.1统计当前主机的连接状态

ss -nta | grep -v ‘^State’ |cut -d " " -f 1| sort | uniq -c
3 ESTAB #表示建立的 TCP 连接处于活动状态
17 LISTEN

7.2统计当前连接主机数

ss -nt | tr -s " "|cut -d " " -f 5 | sort -n | uniq -c
1 Local
2 192.168.233.21:22

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

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

相关文章

【编程语言 · C语言 · 递归函数】

递归函数 C 语言的函数都支持递归, 也就是说&#xff0c;每个函数都可以直接或者间接第调用自己。所谓的间接调用&#xff0c;是指在递归函数调用的下层函数中再调用自己。 递归关系图如下&#xff1a; 递归之所以能实现&#xff0c;是因为函数的每个执行过程在栈中都有自己的…

深入理解 SpringBoot 日志框架:从入门到高级应用——(三)Logback 输出日志到 MySQL 数据库

文章目录 添加依赖导入 SQL 文件配置 logback-spring.xml运行结果 Logback 是一个开源的日志框架&#xff0c;它支持多种日志输出方式&#xff0c;包括控制台输出、文件输出、邮件输出等。如果要将 Logback 输出的日志保存到 MySQL 数据库中&#xff0c;可以按照以下步骤进行配…

Tapd在研发团队中的使用技巧-持续更新ing

1.TAPD第三方服务集成能力&#xff0c;支持与代码仓库、流水线进行了深度打通&#xff0c;力求为开发团队提供流畅高效的使用体验。我们梳理了一份攻略&#xff0c;掌握下面几个小技能&#xff0c;让TAPD与代码仓库、流水线一起&#xff0c;成为研发团队的得力助手&#xff0c;…

数据结构算法刷题(27)回溯(子集型)

回溯思想&#xff1a; 思路&#xff1a;这种出现全部xx组合的&#xff0c;基本都是回溯算法。首先&#xff0c;当digits是空&#xff0c;那返回也是空。当回溯到边界条件的时候&#xff0c;就更新答案&#xff0c;在非边界条件的时候&#xff0c;循环该数值下的全部情况。 cla…

125760-33-0,Fmoc-Thr(Ac4Galβ1-3Ac2GalNAcα)-OH,于蛋白质糖基化修饰

文章关键词&#xff1a;糖化学试剂&#xff0c;化学试剂&#xff0c;糖基氨基酸一、试剂基团反应特点&#xff08;Reagent group reaction characteristics&#xff09;&#xff1a; Fmoc-Thr(Ac4Galβ1-3Ac2GalNAcα)-OH中蛋白质糖基化修饰是在糖基转移酶的催化作用下糖链分子…

色环电阻介绍

复习一下色环电阻&#xff0c;是在电阻封装上(即电阻表面)涂上一定颜色的色环&#xff0c;来代表这个电阻的阻值。色环实际上是早期为了帮助人们分辨不同阻值而设定的标准。色环电阻现在应用还是很广泛的&#xff0c;如家用电器、电子仪表、电子设备中常常可以见到。但由于色环…

Java内存模型(JMM)和volatile原理

一、Java 内存模型 JMM即Java Memory Model&#xff0c;他定义了主存&#xff08;共享的数据&#xff09;、工作内存&#xff08;私有的数据&#xff09;抽象概念&#xff0c;底层对应着CPU寄存器、缓存、硬件内存、CPU指令优化等 JMM体现以下几个方面 原子性-保证指令不会受…

ad18报错:Minimum Solder Mask Sliver Constraint

报告上提示&#xff1a; Minimum Solder Mask Sliver (Gap0.254mm) (All),(All) Minimum Solder Mask Sliver Constraint&#xff0c;PCB焊盘阻焊层之间间距小于0.254报错 修改了这里&#xff0c;把这个报警值改小一些&#xff0c;就不会报警了 翻译过来是&#xff1a;最小…

8.vue3医疗在线问诊项目 - _问诊室模块-websocket学习 ==> 消息卡片、websocket、socket.io、约定通讯规则、建立连接

8.vue3医疗在线问诊项目 - _问诊室模块-websocket学习 &#xff1e; 消息卡片、websocket、socket.io、约定通讯规则、建立连接 问诊室-路由与组件 目标&#xff1a;配置路由和分析结构 1&#xff09;路由配置 {path: /room,component: () > import(/views/room/index.vue)…

UNIX网络编程卷一 学习笔记 第二十章 广播

本书迄今为止的所有例子都是单播&#xff1a;一个进程与另一个进程通信。TCP只支持单播寻址&#xff0c;而UDP和原始IP还支持其他寻址类型&#xff0c;下图比较了不同的寻址方式&#xff1a; IPv6往寻址体系中增加了任播&#xff08;anycasting&#xff09;方式。RFC 1546讲述…

章节5:04-shiro反序列化漏洞

章节5&#xff1a;04-shiro反序列化漏洞 复现环境 本地tomcat或Docker vulhub 基础环境&#xff1a; IDEA Maven Tomcat Burp JDK8版 01 Shiro介绍 Shiro Apache Shiro&#xff1a;开源安全框架 身份验证授权会话管理加密 本地代码 https://github.com/apache/shi…

Iptables防火墙策略

目录 一、iptables netfilter/iptables 关系 二、四表五链 三、iptables的安装 iptables 命令行配置方法 管理选项 一、iptables Linux 系统的防火墙——netfilter/iptables IP信息包过滤系统&#xff0c;它实际上由两个组件netfilter 和 iptables组成。 主要工作在网络…

MATLAB与大数据:如何应对海量数据的处理和分析

第一章&#xff1a;引言 在当今数字化时代&#xff0c;大数据已经成为了各行各业的核心资源之一。海量的数据源源不断地涌现&#xff0c;如何高效地处理和分析这些数据已经成为了许多企业和研究机构面临的重要挑战。作为一种功能强大的数学软件工具&#xff0c;MATLAB为我们提供…

深度剖析InnoDB存储结构

大家都知道 MySQL 的数据都是存储在物理磁盘上的&#xff0c;那具体是保存在哪个文件呢&#xff1f;我们首先要知道MySQL 存储的行为是由存储引擎实现的&#xff0c;不同的存储引擎保存的文件自然也不同。由于InnoDB 是我们常用的存储引擎&#xff0c;也是 MySQL 默认的存储引擎…

Spring Cloud Alibaba - Sentinel源码分析(二)

目录 一、Sentinel源码分析 1、时间窗算法 2、滑动时间窗算法 3、Sentinel滑动时间窗口算法源码解析 4、Sentinel滑动窗口数据统计源码解析 一、Sentinel源码分析 1、时间窗算法 时间窗算法&#xff0c;也可以称之为&#xff1a;固定时间窗算法 概念&#xff1a;固定时…

015:vue项目中常用的正则表达式

第015个 查看专栏目录: VUE — element UI 专栏目标 在vue和element UI联合技术栈的操控下&#xff0c;本专栏提供行之有效的源代码示例和信息点介绍&#xff0c;做到灵活运用。 &#xff08;1&#xff09;提供vue2的一些基本操作&#xff1a;安装、引用&#xff0c;模板使用…

【RV1126】使用gpiolib框架

文章目录 史上最简单&#xff1a;增加GPIO控制功能是如何实现的呢&#xff1f;GPIOLIB框架Linux 驱动实现 控制引脚输出高低电平综合测试 这一套非常方便&#xff01; 史上最简单&#xff1a;增加GPIO控制功能 如果是想增加GPIO控制只需要修改设备树就可以做到&#xff01; …

谷粒商城第二天-项目环境搭建

目录 一、前言 二、学习的内容 一、虚拟平台的安装&#xff0c;远程连接虚拟机的工具的安装 二、Docker以及常用软件的安装 一、安装Docker&#xff1a; 二、安装相关软件 三、开发环境的统一 1. 这里就是调整Maven的下载依赖的地址&#xff0c;改用阿里云镜像地址 2. …

11.vue3医疗在线问诊项目 - _药品订单 ==> 支付页面、支付详情、支付结果、订单详情、物流信息、高德地图工具

11.vue3医疗在线问诊项目 - _药品订单 &#xff1e; 支付页面、支付详情、支付结果、订单详情、物流信息、高德地图工具 药品订单-支付页面-路由 目标&#xff1a;配置路由&#xff0c;分析药品支付组件结构 1&#xff09;路由与组件 {path: /medicine/pay,component: () >…

系列十一、MongoDB副本集

一、概述 MongoDB副本集&#xff08;Replica Set&#xff09;是有自动故障恢复功能的主从集群&#xff0c;有一个Primary节点和一个或者多个Secondary节点组成。副本集没有固定的主节点&#xff0c;当主节点发生故障时&#xff0c;整个集群会选举一个主节点 为系统提供服务以保…