grep -e命令详解_grep中的正则表达式

grep是Linux中用于处理文件的工具之一。grep搜索输入文件,查找与正则表达式匹配的行,并将每个匹配的行标准输出。

正则表达式是匹配一组字符串的模式。模式由操作符、构造文字字符和具有特殊意义的元字符组成。grep支持三种正则表达式语法:Basic、Extended和perl兼容。

如果没有提供正则表达式类型,grep将搜索模式解释为基本的正则表达式。要将模式解释为扩展的正则表达式,请使用-E。

文字匹配

grep命令最基本的用法是搜索文件中的文字字符或字符序列。例如,要显示/etc/passwd文件中包含字符串“bash”的所有行,需要运行以下命令:

[root@localhost ~]# grep bash /etc/passwdroot:x:0:0:root:/root:/bin/bashbob:x:1000:1001::/home/bob:/bin/bashuser01:x:1001:1002::/home/user01:/bin/bash
c656d711f0e3fab7e76cdcc971c7e863.png

默认情况下,grep命令是区分大小写的。这意味着大写和小写字符被视为不同的。要在搜索时忽略大小写,请使用-i选项。

如果搜索字符串包含空格,则需要用单引号或双引号将其括起:

[root@localhost ~]# grep "System message bus" /etc/passwddbus:x:81:81:System message bus:/:/sbin/nologin
e5a2cfbb6b0b50bc05d1bbb8e77e0e49.png

锚点

^符号匹配行首的空字符串。在下面的示例中,字符串“root”只有在行首出现时才匹配。

[root@localhost ~]# grep '^root' /etc/passwdroot:x:0:0:root:/root:/bin/bash
c00b7fe167a4d2b858935457de8dc485.png

$要查找以字符串“bash”结尾的行,可以使用以下命令:

[root@localhost ~]# grep 'bash$' /etc/passwdroot:x:0:0:root:/root:/bin/bashbob:x:1000:1001::/home/bob:/bin/bashuser01:x:1001:1002::/home/user01:/bin/bash
6e1fd529c6c783f4f80b851ba6f99478.png

您还可以使用两个锚来构造正则表达式。例如,查看配置文件,不显示空行,请运行以下命令:

[root@localhost ~]# grep -v '^$' /etc/samba/smb.conf
059e98028f3df0601e8e242d81f64169.png

-v 反转匹配的意义,来选择不匹配的行。

https://article.pchome.net/content-2112034.html

https://www.51cto.com/it/news/2020/0525/20939.html

https://www.csdn.net/article/a/2020-05-20/15991626

|符号

| 是或者的意思。例如:想查看cpu是否支持虚拟化:

[root@localhost ~]# grep 'vmx|svm' /proc/cpuinfo flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch ssbd ibrs ibpb stibp tpr_shadow vnmi ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid mpx rdseed adx smap clflushopt xsaveopt xsavec arat md_clear spec_ctrl intel_stibp flush_l1d arch_capabilities
c1a49aa85ac4e8f2567a1f6735fd4797.png

如果使用扩展正则表达式,则不需要转义|,如下所示:

[root@localhost ~]# grep -E 'svm|vmx' /proc/cpuinfo flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch ssbd ibrs ibpb stibp tpr_shadow vnmi ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid mpx rdseed adx smap clflushopt xsaveopt xsavec arat md_clear spec_ctrl intel_stibp flush_l1d arch_capabilities
fd7c4c361387bf7ec171a72c1619045a.png

总结

正则表达式用于文本编辑器、编程语言和命令行工具,如grep、sed和awk。在搜索文本文件、编写脚本或过滤命令输出时,了解如何构造正则表达式非常有用。

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

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

相关文章

幼儿课外活动游戏_泰国清迈大小学校介绍 --【Little Star小星星幼儿园】

细数清迈的大小学校,主要分为国际学校和双语学校.一般国际学校的课程设置为10%的泰语,90%的英语,一些中文国际学校设置为20%-30%中文。国际学校可按照学制区分,美制、英制、德制、IB、新加坡等一系列课程。双语学校则为40%的泰语&…

华硕主板如何u盘启动电脑

首先将制作好的U盘启动盘插入到电脑主机USB插口,然后开机,开启电脑后当看到开机画面的时候,连续按下键盘上的“F8”键,将会进入到一个启动项顺序选择的窗口。 进入后的光标默认选择的选项是第一个“硬盘启动”,使用键…

Java8 Stream集合的筛选、归约、分组、聚合详解+案例

文章目录1 Stream概述2 Stream的创建3 Stream的使用案例使用的员工类3.1 遍历/匹配(foreach/find/match)3.2 筛选(filter)3.3 聚合(max/min/count)3.4 映射(map/flatMap)3.5 归约(reduce)3.6 收集(collect)3.6.1 归集(…

超人汉考克里的机器人_电影《全民超人汉考克》无删减BD/HD高清完整版在线免费观看-新视觉影视...

1.请问哪个平台可以免费在线观看动作片《全民超人汉考克》?电影天堂网网友:《全民超人汉考克》免费在线观看地址2.《全民超人汉考克》是什么时候上映/什么时候开播的?天堂影院网友:2008年,详细日期可以去百度百科查一查…

xp电脑怎么进入bios

按下电源键开机或重新启动计算机,多数电脑会出现品牌LOGO界面,并且提示进入BIOS的按键,进入BIOS按键为DEL,打开Boot Menu启 按下键盘上的DEL键,这时候电脑就会进入BIOS设置主界面,通过↑↓←→方向键选择设…

关于Java:Collectors.summingInt()与mapToInt()与sum()

当您要对流中的整数值求和时&#xff0c;有两种主要的实现方式&#xff1a; ToIntFunction<...> mapFunc ... int sum stream().collect(Collectors.summingInt(mapFunc))int sum stream().mapToInt(mapFunc).sum()第一个涉及对返回的整数进行装箱 纯粹是我的观点&a…

pd调节规律_pid算法原理及调整规律解析

在过程控制中&#xff0c;按偏差的比例(P)、积分(I)和微分(D)进行控制的PID控制器(亦称PID调节器)是应用最为广泛的一种自动控制器。它具有原理简单&#xff0c;易于实现&#xff0c;适用面广&#xff0c;控制参数相互独立&#xff0c;参数的选定比较简单等优点&#xff1b;而且…

uefi启动如何进入

前提是你的主板是12年后出的&#xff0c;支持Uefi功能&#xff0c;我们进入Bios,选择secure boot,选择为enabled 再选择Exit&#xff0c;选到最下面os optimized defaults 选择other os 再点boot&#xff0c;看到UEFI boot 选择enabled启用 开机的时候&#xff0c;按快捷热键…

warning: in the working copy of ‘package-lock.json‘, LF will be replaced by CRLF the next time Git

warning: in the working copy of ‘package-lock.json‘, LF will be replaced by CRLF the next time Git 换行符的问题&#xff0c;Windows下换行符和Unix下的换行符不一样&#xff0c;git会自动转换&#xff0c;但是这样有问题&#xff0c;所以解决方法如下&#xff1a; …

liunx宝塔配置https_宝塔面板安装教程

宝塔面板安装教程原创 计科青年 今天首先登陆阿里云官网登陆你买的阿里云服务器打开服务器控制台&#xff0c;点击购买的服务器&#xff0c;点击实例&#xff0c;就可以看见自己的公网IP。1.下载Xshell6远程连接软件&#xff0c;打开软件点击文件新建这里推荐大家使用Xshell6进…

支援 Chrome 插件:微软 Chromium 内核 Edge 浏览器可以下载啦!

微软筹备已久的 Chromium 版 Edge 浏览器&#xff0c;终于面向 Windows 10 用户开放了首批测试版本&#xff0c;目前属 Canary 的预览版会进行每天更新&#xff0c;所以 bug 而言也会比较多。对于开发者版本则会进行每週更新&#xff0c;预计更为稳定的 beta 公测版会也快将推出…

java用户角色权限管理 只显示姓_快递物流管理系统SSM,JQUERYEASYUI,MYSQL

快递物流管理系统(SSM,JQUERY-EASYUI,MYSQL)(毕业论文27564字,共78页,程序代码,MySQL数据库) 全套项目下载地址: http://woc.xin/WQBgtE【运行环境】 Eclipse, IDEA JDK1.7(JDK1.8) Tomcat7(Tomcat8)【技术栈】 JAVA, JSP, SSM, JQUERY, JQUERY EASYUI, MYSQL, HTML, CSS, JAVA…

微软推行 Windows 10 更新政策 往后不会太强硬要求升级!

Microsoft 以往每月一次为 Windows 系统推出的「月经」性安全更新&#xff0c;以及每半年一次的大规模功能更新都使用户们对 Windows 10 望而却步。原因在于&#xff0c;每次更新都带来大量问题&#xff0c;轻则系统无回应&#xff0c;重则不能开机甚至个人档案被错误删除。而现…

判刑后再上诉会改判吗_近视眼手术后还会再近视反弹吗?有哪些后遗症,温州眼科专家告诉你...

经过几代的更新发展&#xff0c;近视眼手术的技术已相当成熟。激光近视手术受到越来越多近视患者的青睐&#xff0c;飞秒激光近视手术俨然成为目前矫正近视的新潮流。很多人以为&#xff0c;有了近视手术后便不需要注意近视的防控。轻松摘镜的背后&#xff0c;是彻夜狂欢&#…

dev c++调试怎么看变量的值_利用GDB调试 MSQL

原创 张政俊 老叶茶馆来自专辑MySQL修行作者&#xff1a;张政俊就职于中欧基金&#xff0c;知数堂粉丝&#xff0c;数据库爱好者&#xff0c;熟悉RDBMS、nosql、new sql等各类数据库。啃完Oreilly的《高性能mysql》、姜老师的《MySQL技术内幕》&#xff0c;再加上个2,3年的实战…

怎样进入pe重建硬盘

怎样进入pe重建硬盘&#xff0c;一起来了解一下如何进入pe重建硬盘吧。 同时按住winR键打开运行窗口&#xff0c;在运行窗口中输入control&#xff0c;点击确定。 打开控制面板后点击索引选项。 在索引选项界面&#xff0c;点击高级。 点击重建&#xff0c;确定即可。 win7…

案例 自动办公_办公自动化案例教程(双色)(含微课)

办公自动化案例教程(双色)(含微课)ISBN:978-7-5165-1852-6作者&#xff1a;贺鑫 彭卫华 李胜华定价&#xff1a;48.00元出版社&#xff1a;航空工业出版社适用层次&#xff1a;通用出版日期&#xff1a;2020-05-01项目一 使用Word制作常用公文项目描述学习要点任务一 制作行政…

移动硬盘在电脑中怎么打开很慢

在打开移动硬盘时&#xff0c;会卡住很久才打开&#xff0c;这是怎么回事呢?下面分享电脑打开移动硬盘很慢的解决方法。 打开开始&#xff0c;运行中输入&#xff1a;regsvr32 /ushmedia.dll回车即可解决。 regsvr32 /u shmedia.dll是用来解除shmedia.dll文件的注册&#xf…

qtabwidget放大_Qt自定义弹窗屏蔽父窗口(QWidget设置setWindowModality(Qt::ApplicationModal);以后再show)...

写Qt程序时遇到一个问题: Qt自带的弹窗功能单一,所以须要自己用ui设计弹窗的内容,这样弹窗就和普通窗口一样了,但问题是这个弹窗显示后父窗口还是活动的.网上找了很久找到了解决办法: Qt::WindowFlags flags Qt::Dialog; mycom->setWindowFlags(flags); mycom->setWindo…

电脑上我的文档图标不见了怎么办

1、点击开始菜单&#xff0c;选择控制面板&#xff0c;外观和个性化&#xff0c;点击个性化&#xff0c;点击更改桌面图标。 2、在打开的桌面图标设置窗口界面中&#xff0c;勾选用户的文件&#xff0c;点击确定即可。 使用教程yunqishi.net/dnjc/