首页 > 系统相关 >Linux文本处理三剑客---grep

Linux文本处理三剑客---grep

时间:2024-02-22 17:25:21浏览次数:42  
标签:grep 17 文本处理 --- nginx test txt root 三剑客

1.什么是grep和egrep

示例
grep [options] pattern [file...]

其中,pattern表示要搜索的模式,可以是简单的文本字符串,也可以是正则表达式。file指定要在其中进行搜索的文件,如果省略file,则默认从标准输入中读取数据。

egrep其实就是grep的一个变种,它支持更多的正则表达式语法。egrep实际上就是对grep命令的扩展,允许使用扩展的正则表达式语法,包括元字符如括号、问号、加号等。

egrep命令的用法与grep类似,只是在使用正则表达式时,egrep支持更多的特性。
例如,如果你想要搜索同时匹配"apple"或"orange"的行,可以使用egrep的语法:

egrep 'apple|orange' filename

而grep的话需要使用反斜杠转义符:
grep 'apple\|orange' filename

egrep = grep -E:扩展的正则表达式 (除了< , > , \b 使用其他正则都可以去掉\)

2.常用参数

 -A<显示行数>:除了显示符合范本样式的那一列之外,并显示该行之后的内容。
 -B<显示行数>:除了显示符合样式的那一行之外,并显示该行之前的内容。
 -C<显示行数>:除了显示符合样式的那一行之外,并显示该行之前后的内容。
 -c:统计匹配的行数
 -e:实现多个选项间的逻辑or 关系
 -E:扩展的正则表达式
 -f FILE:从FILE获取PATTERN匹配
 -F:相当于fgrep
 -i:忽略大小写,即不区分大小写进行搜索。
 -n:显示匹配的行号
 -o:仅显示匹配到的字符串
 -q:静默模式,不输出任何信息
 -s:不显示错误信息。
 -v:反向搜索,只显示不匹配的行。
 -w:仅匹配整个单词,而不是单词的一部分。

3.grep命令演示

[17:07:42 root@nginx ~]#grep -A2 b test.txt 
bbbbb
ccccc
AAAAAA
[17:09:27 root@nginx ~]#grep -A2 a test.txt 
aaaaa
bbbbb
ccccc
[17:09:36 root@nginx ~]#grep -A1 a test.txt 
aaaaa
bbbbb
[17:09:44 root@nginx ~]#grep -A2 a test.txt 
aaaaa
bbbbb
ccccc
[17:10:19 root@nginx ~]#grep -B2 a test.txt 
aaaaa
[17:10:26 root@nginx ~]#grep -C1 a test.txt 
aaaaa
bbbbb
[17:10:35 root@nginx ~]#grep -c aaa test.txt 
1
[17:10:57 root@nginx ~]#grep -e aaa -e bbb test.txt 
aaaaa
bbbbb
[17:11:24 root@nginx ~]#grep -in c test.txt 
3:ccccc
6:CCCCCC
[17:11:39 root@nginx ~]#grep -o aaaaa test.txt 
aaaaa
[17:12:42 root@nginx ~]#grep  -v aaa test.txt 
bbbbb
ccccc
AAAAAA
BBBBBB
CCCCCC
[17:14:32 root@nginx ~]#grep  -f  grep.txt test.txt 
aaaaa

标签:grep,17,文本处理,---,nginx,test,txt,root,三剑客
From: https://www.cnblogs.com/liuzhonghua1/p/18027771

相关文章

  • 洛谷题单指南-贪心-P1090 [NOIP2004 提高组] 合并果子 / [USACO06NOV] Fence Repair G
    原题链接:https://www.luogu.com.cn/problem/P1090题意解读:两两合并,是典型的哈夫曼编码算法思想,贪心即可。解题思路:要是合并体力消耗最少,就要让尽可能少的果子越晚合并越好,因此,贪心策略为优先选择数量最少的两堆果子合并,一直到剩下一堆果子,把合并过程中的消耗值累加即可,要快速......
  • mysql面试高频问题---聚簇索引与非聚簇索引
    聚簇索引与非聚簇索引1.问题?什么是聚簇索引与非聚簇索引什么是聚集索引?什么是二级索引(非聚集索引)?什么是回表?2.聚簇索引聚集索引选取规则:1.如果存在主键,主键索引就是聚集索引。2.如果不存在主键,将使用第一个唯一(UNIQUE)索引作为聚集索引。3.如果表没有主键,或没有......
  • mysql面试高频问题---覆盖索引
    覆盖索引1.问题覆盖索引是指查询使用了索引,并且需要返回的列,在该索引中已经全部能够找到。判断下面的SQL哪些是覆盖索引,为什么?select*fromtb_userwhereid=1是,因为根据id查询的,id默认是主键索引,就是聚簇索引,聚簇索引中对应的是整行的记录selectid,namefromtb_us......
  • 洛谷题单指南-贪心-P1803 凌乱的yyy / 线段覆盖
    原题链接:https://www.luogu.com.cn/problem/P1803题意解读:通过某种贪心策略,使得能参加的比赛数越多越好。解题思路:将比赛按照结束时间由小到大哦排序,贪心策略是优先选择结束时间早的比赛,因为这样能保证后面参加更多其他比赛100分代码:#include<bits/stdc++.h>usingnamespa......
  • 计算机三级(网络技术)--第二章 核心层网络结构设计
    2.3网络关键设备选型路由器选型高端路由器中端路由器(企业级路由器)低端路由器路由器性能主要指(背板交换能力)关键技术指标吞吐量指(包转发能力)路由器包转能力与(端口数量、端口速率、包类型、包长度关系密切)无端口类型背板能力决定了吞吐量   高性能路由器:......
  • 第七关-Less-7
    GET-Dumpintooutfile-String(导出文件GET字符型注入)我们还是一样的来判断注入点:我们输入?id=1来查看一下:这么我们发现回显的页面没有任何有用的信息我们再试一下下面这结果payload:?id=1'?id=1"?id=1')?id=1'))?id=1")?id=1"))经过多次尝试,我们发现了它的闭合......
  • el-date-picker 限制30天
    <el-date-pickerv-model="dateRange"size="small"style="width:240px"value-format="yyyy-MM-dd"type="daterange"......
  • mysql面试高频问题---索引
    索引1.问题?什么是索引索引(index)是帮助MySQL高效获取数据的数据结构(有序)。在数据之外,数据库系统还维护着满足特定查找算法的数据结构(B+树),这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法,这种数据结构就是索引。维护树的数据结构,提高......
  • MDQ100-16-ASEMI电源控制柜模块MDQ100-16
    编辑:llMDQ100-16-ASEMI电源控制柜模块MDQ100-16型号:MDQ100-16品牌:ASEMI正向电流(Id):100A反向耐压(VRRM):1600V正向浪涌电流:500A正向电压(VF):1.90V引脚数量:5芯片个数:5芯片尺寸:MIL功率(Pd):大功率设备封装:M18工作温度:-40°C~150°C类型:整流模块、整流桥MDQ100-16描述:ASEMI......
  • Jenkins CLI 任意文件读取漏洞(CVE-2024-23897)复现
    0x00漏洞简介Jenkins是一款基于JAVA开发的开源自动化服务器。Jenkins使用args4j来解析命令行输入,并支持通过HTTP、WebSocket等协议远程传入命令行参数。在args4j中,用户可以通过@字符来加载任意文件。这一特性存在安全风险,攻击者可以利用它来读取服务器上的任意文件。0x01影响......