Linux:grep进阶(11)

news2024/11/26 12:25:46

Linux:shell脚本:基础使用(4)《正则表达式-grep工具》_shell grep 全角字符串-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/w14768855/article/details/132338954?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522170833601716800226594687%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=170833601716800226594687&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-1-132338954-null-null.nonecase&utm_term=grep&spm=1018.2226.3001.4450这个是grep的基础使用,本章则搭配着正则表达式之上再加更多的参数进行演示


基础正则表达式

^word   搜索以word开头的。vi/vim中 ^ 一行的开头。

word$   搜索以word结尾的。vi/vim中 $ 一行的结尾。 \$

^$      表示空行

 .   代表且只能代表任意一个字符

 \       例:\. 只代表点本身,转义符号,让有特殊身份意义的字符,脱掉马甲,还原;

\n  换行符

\r  匹配回车

\w  匹配任意一个字符和数字

*       重复0次或多次前面的一个字符。

*      匹配所有字符。例:^.* 以任意多个字符开头,.*$以任意多个字符结尾。

[abc]    匹配字符集内的任意一个字符。

 [^abc]   匹配不包含 ^ 后的任意字符的内容。中括号里的 ^ 为取反。

 [1-9]    表示匹配括号内的范围内的任意字符。

a\{n,m\}  重复n到m次前一个重复的字符。若用egrep、sed -r可以去掉斜线。

\{n,\}    重复至少n 次前一个重复的字符。若用egrep、sed -r可以去掉斜线。

\{n\}     重复n 次前一个重复的字符。若用egrep、sed -r可以去掉斜线。

\{,m}\    重复少于m次。


扩展的正则表达式:

    +   重复一次或一次以上前面的一个字符。等同于\{n,}

    ?   重复0次或一次前面的一个字符。等同于\{,m}

    |   或者的意思,用或的方式查找多个符合的字符串。

    ()   找出括号内的字符串。

理解正则

^linux                       ##以linux开始

linux$                       ##以linux结束

linuxfan.                    ##匹配linuxfans等

coo[kl]                      ##匹配cool或cook

9[^5689]                     ##匹配91,92等,但不匹配95,98等

[0-9]                          ##匹配任意一个所有的数字

[a-z]|[A-Z]               ##匹配任意一个所有大小写字母,|属于扩展正则grep -E支持

colou?r                      ##匹配color或colour,但是不能匹配colouur

rollno-9+                 ##匹配rollno-9、rollno-99,rollno-999,但不匹配rollno-

co*l                           ##匹配cl,col,cool,coool等

ma(tri)x                    ##匹配matrix

[0-9]{3}                    ##匹配任意一个三位数,等于[0-9][0-9][0-9]

[0-9]{2,}                     ##匹配任意一个两位数或更多位的数字

[0-9]{2,5}                  ##匹配从两位数到五位数之间的任意一个数字

Oct (1st|2nd)            ##匹配Oct 1st或Oct 2nd

a\.b                            ##匹配a.b,但不能匹配ajb

[a-z0-9_]+\@[a-z0-9_]+\.[a-z]{2,4}                             ##匹配一个邮箱地址 

[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}            ##匹配IP地址 


 grep常用的参数


 grep用法演示

cat /etc/passwd | grep -e root -e tarro -e ftp

# 查询/etc/passwd  多个字符串  -e 后面就是一个指定的字符串可以指定多个

grep -R -o -n -E '[a-z0-9_]+\@[a-z0-9_]+\.[a-z]{2,4}' /etc/

目录下的所有文件中的邮件地址

-R递归,-n表示匹配的行号,-o只输出匹配内容,-E支持扩展正则表达式

grep -R -c 'HOSTNAME' /etc/ |grep -v "0$"

查找/etc/目录下文件中包含“HOSTNAME”的次数,-c统计匹配次数,-v取反

 grep -R -l 'HOSTNAME' /etc/ 

查找包含“HOSTNAME”的文件名,-l显示匹配的文件名,-L显示不匹配的文件名

cat /etc/passwd |grep -c bash$

统计系统中能登录的用户的个数,以bash结尾的个数        

ip a |grep -E '^[0-9]' |awk -F : '{print^C2}'

 获取系统中网卡名称

ip a |grep mtu|grep -o -E "[a-z]{3}[0-9]{1,}"

也是获取系统中网卡名称        

ifconfig ens33 |grep -E -o 'inet [^ ]*' |grep  -o '[0-9.]*'

获取指定网卡的ip地址        

ip a |grep inet |grep ens33 |grep -o "inet[^/]*" |grep -o "[0-9.]*"

获取指定网卡的ip        

ifconfig ens33 |grep -i ether |awk '{print $2}'

截取指定网卡的mac地址

cat 123 | grep -A 3 5

查找指定字符串并且连续显示向下3行

cat 123 | grep -B 3 5

查找指定字符串并且连续显示向上3行

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

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

相关文章

状压dp,HDU1074.Doing Homework

目录 一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 二、解题报告 1、思路分析 2、复杂度 3、代码详解 一、题目 1、题目描述 Ignatius has just come back school from the 30th ACM/ICPC. Now he has a lot of homework to do. Every teacher giv…

【JavaEE】_HTTP响应

目录 1. 首行 2. 报头header 3.空行 4. 正文body 1. 首行 响应首行:版本号状态码状态码描述; HTTP状态码描述了这次响应的结果(比如成功、失败,以及失败原因等); 1. HTTP状态码有: &#…

【EI会议征稿通知】第三届先进制造技术与制造系统国际学术会议(ICAMTMS 2024)

第三届先进制造技术与制造系统国际学术会议(ICAMTMS 2024) 2024 3rd International Conference on Advanced Manufacturing Technology and Manufacturing System 随着工业技术的发展,先进制造技术日益成为未来制造业发展的重大趋势和核心内…

Maven属性scope

参考: maven 中 scope标签的作用(runtime、provided、test、compile 的作用) 【Maven】属性scope依赖作用范围详解 scope为provided

VNCTF2024misc方向部分wp

文章目录 sqlsharkLearnOpenGLez_msbOnlyLocalSql sqlshark tshark -r sqlshark.pcap -Y "http" -T fields -e frame.len -e http.file_data > data.txt不太像常规的盲注,一次性发送两条很类似的payload,比常规的多了一个least在判断passw…

不懂咱就学,记不住多看几遍(二)

一、Redis分布式锁中加锁与解锁、过期如何续命 实现要点: 互斥性,同一时刻,只能有一个客户端持有锁。防止死锁发生,如果持有锁的客户端因崩溃而没有主动释放锁,也要保证锁可以释放并且其他客户端可以正常加锁。加锁和…

TypeScript(二):TypeScript的细节

TypeScript语法细节 联合类型(满足其中一个即可) 可以使用多种运算符,从现有的类型中构建新类型 const number|string 123 可以是这些类型中的任何值但是使用的时候需要小心 let virable: number | string 123function getData(id: numb…

金山WPS下的word,如何删除表格下面的大段空白

在csdn,你甚至可以学习到wps小技巧。 如题,这种大段空白怎么设置文本格式,表格格式都没用。正常的backspace删除也没用。 解决方式如下: 长按鼠标左键拖拽选中空白区域(可能没有选中成功的特效没关系)&am…

Golang - 使用CentOS 7 安装Golang环境

文章目录 操作步骤 操作步骤 为在CentOS 7上安装Go语言环境,可以按照以下步骤进行操作: 下载Go语言包: 从官方网站 https://golang.org/dl/ 下载适用于Linux的Go语言包。 解压缩Go语言包: 使用以下命令解压缩下载的Go语言包 […

洛谷 P6546 [COCI2010-2011#2] PUŽ

讲解&#xff1a; 首先还是正常输入&#xff1a; int a,b,v; cin>>a>>b>>v; 然后经入一个函数num&#xff1a; cout<<num(1.0*(v-a),(a-b))1<<endl; 之所以要乘以1.0是因为要向上取整&#xff01;而这个num函数的两个参数则是“蜗牛白天爬了多…

Asymmetric Temperature Scaling(NeurIPS 2022)论文速读

paper&#xff1a;Asymmetric Temperature Scaling Makes Larger Networks Teach Well Again official implementation&#xff1a;https://gitee.com/mindspore/models/tree/master/research/cv/ats 本文的创新点 在知识蒸馏中&#xff0c;一个奇怪的现象是大的教师模型未必…

网络原理(5)--HTTPS是如何进行加密的

&#x1f495;"Echo"&#x1f495; 作者&#xff1a;Mylvzi 文章主要内容&#xff1a;网络原理(5)–HTTPS是如何进行加密的 在网络原理(4)中介绍了HTTP协议的相关内容,HTTP协议在传输的过程中存在着安全问题,实际上现在的网络中基本不再使用HTTP,而是使用一种更加安…

记录setData报错TypeError: [object Array] is not a function

小程序调用setData控制台显示报错.但是功能正常 同样的各个地方调setData都报错,经过一轮排除法后发现是自定义组件写法有问题 修改正确之后就没问题了

穷人沉迷多巴胺,富人追求内啡肽

奶头乐理论 1995年&#xff0c;美国旧金山召开了一场由500位富豪和政治家组成的精英会议。 会议认为&#xff0c;全球化的发展将使贫富差距迅速拉大、阶层矛盾日益激烈。 如何让穷人安分守己&#xff1f;他们想出了一个办法&#xff1a; 只需要像喂婴儿奶嘴一样&#xff0c…

服务运行时动态挂载JavaAgent和插件——Sermant热插拔能力解析

作者&#xff1a;华为云高级软件工程师 栾文飞 一、概述 Sermant是基于Java字节码增强技术的无代理服务网格&#xff0c;其利用Java字节码增强技术&#xff0c;为宿主应用程序提供服务治理功能&#xff0c;以解决大规模微服务场景中的服务治理问题&#xff0c;通过Java字节码…

uniapp H5唤起手机App 中间下载页

我这里直接是打开中间下载页&#xff0c;在下载页判断手机是否已存在App&#xff0c;有则唤起App&#xff0c;没有则可点击下载按钮下载app。 唤起App的关键语句是&#xff1a;window.location.href scheme Scheme链接格式样式&#xff1a; [scheme]://[host]/[path]?[que…

Backend - Django SimpleUI(美化 Django Admin )

目录 一、作用 二、安装 & 配置 &#xff08;一&#xff09;安装依赖 &#xff08;二&#xff09;配置 &#xff08;三&#xff09;运行 三、基础设定 &#xff08;一&#xff09;创建用户 &#xff08;二&#xff09;设置标题 &#xff08;三&#xff09;设置登录…

算法刷题:找到字符串中所有的字母异位词

找到字符串中所有的字母异位词 .题目链接题目详情题目解析算法原理滑动窗口流程图定义指针及变量进窗口判断出窗口更新结果 我的答案 . 题目链接 找到字符串中所有的字母异位词 题目详情 题目解析 所谓的异位词,就是一个单词中的字母,打乱顺序,重新排列得到的单词 如:abc-&g…

爬虫入门一

文章目录 一、什么是爬虫&#xff1f;二、爬虫基本流程三、requests模块介绍四、requests模块发送Get请求五、Get请求携带参数六、携带请求头七、发送post请求八、携带cookie方式一&#xff1a;放在请求头中方式二&#xff1a;放在cookie参数中 九、post请求携带参数十、模拟登…

使用IDEA配置GO的开发环境备忘录

1. 安装GO 1.1 下载&安装 进入GO的官网下载对应的GO&#xff0c;本人环境为mac选择最新的1.22.0版本&#xff0c;在本地安装即可 1.2 配置相关环境变量 修改~/.bash_profile&#xff0c;添加如下的配置 GOPATH/Users/kevin/go/src GOBIN/Users/kevin/go/go/bin GOROOT/…