Linux入门: grep与egrep 知识总结
一、基本正则表达式:Grep的用法介绍
1、grep简介:
Grep 是一种强大的文本搜索工具,它能根据模式,搜索文本,并将符合模式的文本行显示出来。
Grep的工作方式是这样的,它在一个或多个文件中搜索字符串模板。Grep可用于shell脚本,因为grep是通过返回一个状态值来说明搜索的状态,如果搜索成功,就返回0;如果不成功,则返回1。我们利用这些返回值就可以很方便地进行一些文本处理工作。
2、grep正则表达式元字符集:
‘^grep’:
锚定行首,此字符后面的任意内容必须出现在行首。
‘grep$’:
锚定行尾,此字符前面的任意内容必须出现在行尾。
^$:
空白行
*:
匹配其前面的字符任意次
.*:
任意长度的任意字符
?:
匹配其前面的字符1次或0次
.:
匹配任意单个字符
[^]:
配指定范围外的任意单个字符
x\{m,\}
重复字符x,m次,如:’0\{5\}’匹配包含5 个0的行。
x\{m,n\}:
匹配其前面的字符x至少m次,至多n次。
2、字符集合:
[:space:]: 空白字符 [:punct:]: 标点字符
[:lower:]: 小写字符 [:upper:]: 大写字符
[:digit:]: 数字 [:alnum:]: 数字和大小写字母
[:alpha:]: 大小写字母 [:graph:]: 非空字符
3、grep命令选项:
-i,--ignore-case
忽略大小写差别
-q,--quiet
取消显示,只返回退出状态。0表示找到了匹配的行
-color
给符合条件的加上颜色
-v,--revert-match
显示没有被模式匹配的行
-o
只显示被模式匹配到的字符串
4、位置锚定:
^: 锚定行首,此字符后面的任意内容必须出现在行首。
如:grep '^root' etc/passwd
$: 锚定行尾,此字符前面的任意内容必须出现在行尾。
如:grep 'bash$' etc/passwd
^$:空白行 如: grep '^$' /etc/passwd /etc/passwd中的空白行就会被匹配
\<或\b:锚定词首,其后面的任意字符必须作为单词首部出现
\>或\b:锚定词尾,其前面的任意字符必须作为单词的尾部出现
如: grep "\<root" /etc/passwd
grep "root\>" /etc/passwd
5、分组
\(\)
ab*表示a后面的b可以出现0次1次或者任意次;
而分组 \(ab\)*则表示ab这个整体可以出现0次1次或者任意次
后向引用:
\1: 引用第一个左括号以及与之对应的右括号所包含的内容
\2:引用第二个左括号以及与之对应的右括号所包含的内容
例如:建立一个文档test1.txt , 内容为
(He love his lover.
She like her lover.
He like his liker.
She love her liker.)
输入 #grep ‘l..e.*l..e’ test1.txt
则 He love his lover.
She like her lover.
He like his liker.
She love her liker.
输入:#grep ‘\(l..e\).*\1’ test1.txt
则 He love his lover.
He like his liker.
二、扩展正则表达式(egrep)
1、字符匹配:
.: 匹配任意单个字符
[]:匹配指定范围内的任意单个字符
[^]:匹配指定范围外的任意单个字符
2、次数匹配:
*:匹配其前面的字符任意次
?:匹配其前面的的字符1次或0次
+:匹配其前面的字符至少1次
{m,n}:匹配其前面的字符至少m次,至多n次。不需要反斜杠(\)
3、位置锚定:
^:锚定行首,此字符后面的任意内容必须出现在行首
$:锚定行尾,此字符前面的任意内容必须出现在行尾
\<:锚定词首,其后面的任意字符必须作为单词首部出现
\>:锚定词尾,其前面的任意字符必须作为单词的尾部出现
4、分组:
():分组
\1, \2, \3, ...
或者
|: or
如:egrep 'C|cat' /test.txt 其意思是说在test.txt中查找C或cat
注: egrep = grep -E
转载于:https://blog.51cto.com/mg5211/1148807
Linux入门: grep与egrep 知识总结相关推荐
- Linux正则表达式grep与egrep
grep -io "http:/=[A-Z0-9]\{16\}" ./wsxf.txt >wsxf_urls.txt Linux正则表达式grep与egrep 正则表达式:它 ...
- 如何进入linux基本目录,Linux入门的一些基本知识整理
原标题:Linux入门的一些基本知识整理 图形模式与文字模式的切换方式 Linux预设提供了六个命令窗口终端机让我们来登录. 默认我们登录的就是第一个窗口,也就是tty1,这个六个窗口分别为tty1. ...
- linux里grep和egrep,fgrep的区别
例子: 1. : 格式: grep [option] pattern filename 注意: pattern如果是表达式或者超过两个单词的, 需要用引号引用. 可以是单引号也可双引号, 区别是单引号 ...
- Linux下grep、egrep及fgrep命令详解
grep命令是linux下的行过滤工具,其参数繁多,下面就一一介绍个个参数的作用,希望对大家有所帮助. grep -- print lines matching a pattern (将符合样式的该行 ...
- linux中的grep和egrep命令,Linux之grep和egrep命令总结
grep / egrep 语法: grep [-cinvABC] 'word' filename -c :打印符合要求的行数 -i :忽略大小写 -n :在输出符合要求的行的同时连同行号一起输出 ...
- linux中egrep命令的作用,linux之grep和egrep命令
grep [-cnivrABC--color] 'word' filename --color可以把匹配到的内容字体换成彩色.-n :显示输出内容的行号-c :打印出符合要求的行数-v :打印不符合要 ...
- Linux入门需要学习的知识--摘至《鸟哥的Linux私房菜》
1. 计算机概论与硬件相关知识: 因为既然想要走Linux这门路,信息相关的基础技能也不能没有啊! 所以先理解一下基础的硬件知识,不用一定要全懂啦!又 不是真的要你去组计算机-_, 但是至少要&quo ...
- Linux入门及企业服务器知识学习笔记
1. Linux是类UNIX操作系统,是一个基于POSIX移植操作系统接口和UNIX的多用户.多任务.支持多线程和多CPU的操作系统. 2.用于企业服务器.WEB网站平台.大数据.虚拟化.Androi ...
- linux egrep和grep区别,Linux中的Grep,Egrep和Fgrep有什么区别?
在Unix系统上的一个着名的搜索工具,可以用于搜索任何东西,无论是一个文件,或一行或多行的文件是grep实用程序.它在功能上非常庞大,这可以归因于它支持的大量选项:使用字符串模式或reg-ex模式或基 ...
- linux 易语言窗口程序_浅谈Linux入门的基本知识
浅谈Linux入门的基本知识 图形模式与文字模式的切换方式Linux预设提供了六个命令窗口终端机让我们来登录. 默认我们登录的就是第一个窗口,也就是tty1,这个六个窗口分别为tty1.tty2 - ...
最新文章
- java mvc 断点续传_用SpringMVC 实现断点续传 (HTTP)
- 利用jvisualvm分析JVM,进行性能调优
- 自动检测CSRF漏洞的工具
- java.net.SocketException: Broken pipe问题解决
- 看看老外的智慧城市都是咋样的
- C#里如何遍历枚举所有的项
- 江苏实时分析评价系统项目总结报告
- 数据库事务 写偏斜write-skew
- VB编程的RS485通讯操作界面源码 本程序适应各类带RS485通讯的设备,参数可以自由修改,主要是针对各类变频器RS485通讯(RTU)格式!
- HITB AMS 2021 议题分析与学习,感叹华人真多
- 上完选修计算机绘图课心得,计算机绘图学习心得体会.doc
- iOS Sonar 集成流程
- 常见测试用例设计之水杯
- 【解决】package ‘xxxx‘ is not in GOROOT
- 朋友圈如何秀一把!用Python一键生成炫酷九宫格图片!
- Doxygen安装和使用
- 计算机网络的标准化工作与相关组织
- Java定义一个抽象类科学家_Java程序设计作业
- Kafka性能篇:为何Kafka这么快?
- 怎么在MAC上阅读txt小说,小说阅读器推荐