正则表达式grep用法详解
前端  /  管理员 发布于 7年前   194
语法: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用法详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对站的支持!
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号