grep家族
grep家族由命令grep、egrep和fgrep组成。
grep:在文件中全局查找指定的正则表达式,并且打印所有包含该表达式的行。
egrep和fgrep是grep的变体。
egrep:grep的扩展,提供更多正则表达式元字符支持。
fgrep:固定grep或快速grep,它按字面解释所有字符,即不会处理正则表达式元字符。
- grep
优点:不需要启动编辑器就可以执行查找操作,也用不着把正则表达式括在正斜杠中,使用grep比使用vi快得多。
grep命令在一个或多个文件中查找某个字符模式。
grep命令中,模式可以是一个被引号括起来的字符串,也可以是单个词,位于模式之后的所有单词都被视为文件名。如果这个模式中包含空格,就必须用引号把它括起来。
grep将输出发送到屏幕,它不会对输入文件进行任何修改或变化。
grep使用的正则表达式元字符:
元字符 |
功能 |
示例 |
^ |
行首定位符 |
/^love/ |
$ |
行尾定位符 |
/love$/ |
. |
匹配单个字符 |
/l..e/ |
* |
匹配零个或多个字符 |
/ *love/ |
[ ] |
匹配一组字符中的一个 |
/[Ll]ove/ |
[x-y] |
匹配指定范围中的一个字符 |
/[A-Z]ove/ |
[^ ] |
匹配不在指定组中的字符 |
/[^A-Z]/ |
\ |
转义元字符 |
/love\./ |
元字符 |
功能 |
示例 |
\< |
词首定位符 |
/\<love/ |
\> |
词尾定位符 |
/love\>/ |
\(..\) |
匹配稍后将要使用的字符的标签 |
/\(love\)able\1er/ |
x\{m\}或 x\{m,\}或 x\{m,n\} |
字符x的重复出现: m次、 至少m次、 至少m次且不超过n次 |
o\{5,10\} |
grep的退出状态:
grep命令在shell脚本中很有用,因为它总会返回一个退出状态,以说明能否定位到要查找的模式或文件。
如果找到了模式,grep返回的状态为0,表示成功。
如果找不到模式,返回1作为退出状态。
当找不到文件时,返回2作为推出状态。
grep家族的更多相关文章
- grep家族、sed、awk
一.grep家族 grep是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来. 在上一次的博客中已经使用过egrep通过正则表达式来匹配正确IP地址,这里的用法就不多说了. f ...
- Linux安全基础:grep命令的使用
grep (缩写来自Globally search a Regular Expression and Print)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来.Unix的 ...
- linux管道命令grep命令参数及用法详解---附使用案例|grep
功能说明:查找文件里符合条件的字符串. 语 法:grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>] ...
- (转)Linux grep
文章转自 http://www.cnblogs.com/ggjucheng/archive/2013/01/13/2856896.html 简介 grep (global search regular ...
- Linux 命令——grep | 正则表达式
感觉讲的很详细,瞬间懂了grep,正则. from: here 简介 grep (global search regular expression(RE) and print out the line ...
- linux grep
grep (缩写来自Globally search a Regular Expression and Print) 是一种强大的文本搜 索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来.Uni ...
- grep命令学习
grep(Globally search a Regular Expression and Print), 全面搜索正则表达式并把行打印出来,是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把 ...
- linux使用grep和find查找内容
1,在某个路径下查文件. 在/etc下查找“*.log”的文件 find /etc -name “*.log” 2,扩展,列出某个路径下所有文件,包括子目录. find /etc -name “*” ...
- Linux之grep命令详解
简介 grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它 ...
随机推荐
- PostgreSQL恢复误操作
根据德歌的博客自己实践一下: 找到要恢复的前一个事物ID,然后回滚到那个时候: 使用pg_xlogdump分析XLOG -bash-4.1$ pg_xlogdump 00000002000000000 ...
- Arcgis for javascript map操作addLayer详解
本节的内容很简单,说说Arcgis for Javascript里面map对象的addLayer方法.在for JS的API中,addLayer方法有两种,如下图: addLayer方法 在addLa ...
- Java 线程的中断机制
今天我们聊聊 Java 线程的中断机制. 线程中断机制提供了一种方法,用于将线程从阻塞等待中唤醒,并作出相应的“受控中断”处理. synchronized (lock) { try { while ( ...
- sublime上配置markdown
等等等等 简书一个不错的教程:Sublime Text3的Markdown配置 补充说明:第一步可以直接找 Tools-->install package control. ^.^ ...
- 一次不成功的脚本Hack[捕鱼达人游戏]
捕鱼达人这款游戏[http://keleyi.com/game/1/] 想当然的以为在这个id为“fishContainer”的div上绑定一个点击事件,子弹就可以快速的发射. 为此用油猴挂载了一个j ...
- 获取mac地址方法之一 GetAdaptersInfo()
GetAdaptersInfo -20151116 防止返回的mac出现null 20151116 From:http://blog.csdn.net/weiyumingwww/article/det ...
- 【retina】手机上 1PX 边框
1像素边框,在2倍屏幕上为2“占位”,3倍屏上为3“占位”,但设计师就要1“占位” .content h1:after, .content h2:after { border-top: 1px sol ...
- 编写实现字符串拷贝函数strcpy()完整版
有个题目编程实现字符串拷贝函数strcpy(),很多人往往很快就写出下面这个代码. void strcpy( char *strDest,char *strSrc ) { while(( *strDe ...
- HDU - 6395:Sequence (分块+矩阵)
题面太丑了,就不复制了. 题意:F1=A: F2=B: Fn=D*Fn-1+C*Fn-2+P/i:求Fn. 思路:根据P/i的值划分区间,每个区间矩阵求. 带常数的矩阵: #include<bi ...
- Python之numpy库
NumPy库知识结构 更多详细内容参考:http://www.cnblogs.com/zhanglin-0/p/8504635.html