正则表达式grep用法详解

所属分类: 网络编程 / 正则表达式 阅读数: 894
收藏 0 赞 0 分享

语法:grep 选项 ‘word' filename

-c:打印符合要求的行数
-i:不区分大小写
-n:在输出符合要求的行的同时显示行号
-v:打印不符合要求的行
-A:后跟一个数字n,表示打印符合要求的行以及下面n行
-B:后跟一个数字n,表示打印符合要求的行以及上面n行
-C:后跟一个数字n,表示打印符合要求的行以及上下各n行
-r:会把目录下所有的文件全部遍历
--color:把匹配到的关键词用红色标示

例子:

过滤出带有某个关键词的行并输出行号

grep -n ‘root' 1.txt

过滤出不带有某个关键词的行并输出行号

grep -nv ‘root' 1.txt

过滤出所有包含数字的行

grep ‘[0-9]‘ 1.txt

过滤出所有不包含数字的行

grep -v ‘[0-9]‘ 1.txt

去除所有以#开头的行

grep -v ‘^#‘ 1.txt

去除所有空行和以#开头的行

grep -v ‘^$‘ 1.txt|grep -v ‘^#‘

过滤出以英文字母开头的行

grep ‘^[a-zA-Z]‘ 1.txt

过滤出以非数字开头的行

grep -v ‘^[0-9]‘ 1.txt或者grep ‘^[^0-9]‘ 1.txt

过滤任意一个或多个字符

grep ‘r.o‘ 1.txt;grep ‘rt‘ 1.txt ;grep ‘r.t‘ 1.txt

过滤出包含root的行以及下面一行

grep -A1 ‘root‘ 1.txt

过滤出包含root的行以及上面一行

grep -B1 ‘root‘ 1.txt

指定过滤字符次数

grep ‘o{2}‘ 1.txt

把一个目录下,过滤所有.php文档中含有eval的行

grep -r --include=".php" ‘eval‘ /data/

过滤两个或多个关键词

grep -E ‘123|abc‘ filename #找出文件中包含123或者abc的行

或者egrep ‘123|abc‘ filename

或者awk ‘/123|abc/‘ filename

egrep=grep -E

匹配1个或者1个以上+前面的字符

egrep ‘o+‘ 1.txt

匹配0个或者1个?前面的字符

egrep ‘o?‘ 1.txt

匹配roo或者匹配body

egrep ‘roo|body‘ 1.txt

用括号表示一个整体,下面例子会匹配roo或者ato

egrep ‘r(oo)|(at)o‘ 1.txt

匹配1个或者多个oo

egrep ‘(oo)+‘ 1.txt

.:表示任意一个字符
:表示0个或多个前面的字符
+:表示1个或多个+前面的字符
?:表示0个或1个?前面的字符
.*:表示任意个任意字符(包含空行)
注意:+和?grep不支持,egrep才支持。

以上所述是小编给大家介绍的正则表达式grep用法详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

更多精彩内容其他人还在看

js中过滤特殊字符的正则表达式

js中用正则表达式 过滤特殊字符 ,校验所有输入域是否含有特殊符号
收藏 0 赞 0 分享

简单的用js实现过滤多余字符的正则表达式

利用正则表达法除去字符串中的重复字符,一个简单的JavaScript正则表达式实例,将一串含有重复字符串中的多余字符滤除掉,请运行查看效果。
收藏 0 赞 0 分享

校验普通电话、传真号码的正则表达式(可以+开头,除数字外,可含有-)

校验普通电话、传真号码:可以“+”开头,除数字外,可含有“-”
收藏 0 赞 0 分享

正则表达式匹配中文与双字节的代码

匹配中文字符与匹配双字节字符的代码,需要的朋友可以参考下。
收藏 0 赞 0 分享

精通JS正则表达式(推荐)

精通JS正则表达式,讲的比较详细,学习正则表达式的朋友可以参考下。
收藏 0 赞 0 分享

用Java正则去掉字符串中重复出现的字符

abcde 顺序可以不一样,也就是去掉重复出现的字符
收藏 0 赞 0 分享

JavaScript常用的正则表达式表单验证代码

验证表单的不同内容用的是不同的正则表达式。客户端验证常用的几个。
收藏 0 赞 0 分享

JavaScript RegExp 正则表达式对象详细说明

RegExp 对象表示正则表达式,它是对字符串执行模式匹配的强大工具。
收藏 0 赞 0 分享

一个正则表达式的看法(?:)

下午和kindle聊天的时候,他让我看一个正则,问我知不知道其中?:的作用,以偶半瓶水的正则功力,不知道杂解释给他听了,单个一个还好理解,一起就不明白了,起码我是没用过..查了下资料,说说我的看法..
收藏 0 赞 0 分享

用于过滤空白字符的几种常见的js正则表达式pattern

用于过滤空白字符的几种常见的正则表达式pattern——在JavaScript中的表现形式
收藏 0 赞 0 分享
查看更多