正则表达式grep用法详解

 更新时间:2018年07月04日 09:28:18   投稿:mrr  
grep是一种文本过滤工具,接下来通过本文给大家介绍正则表达式grep用法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友参考下吧

语法: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用法详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • PHP 正则表达式的几则使用技巧

    PHP 正则表达式的几则使用技巧

    PHP正则表达式主要用于字符串的模式分割、匹配、查找及替换操作。使用正则表达式在某些简单的环境下可能效率不高,因此如何更好的使用PHP正则表达式需要综合考虑
    2009-08-08
  • 用Javascript正则实现url链接的解析类

    用Javascript正则实现url链接的解析类

    一个非常健全的 Javascript 链接(URL)解析类,他用了正则表达式可以准确获取一个完整的 URL 中每个部分的内容,包括协议、URL中包含的用户名和密码、主机名、端口、路径名、参数、锚点(Fragment Anchor)等信息
    2008-06-06
  • 一个正则表达式导致CPU 利用率居高不下

    一个正则表达式导致CPU 利用率居高不下

    这篇文章给大家带来了一个正则表达式导致CPU 利用率居高不下,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-06-06
  • 正则表达式之捕获组/非捕获组介绍

    正则表达式之捕获组/非捕获组介绍

    使用小括号指定一个子表达式后,匹配这个子表达式的文本(也就是此分组捕获的内容)可以在表达式或其它程序中作进一步的处理。
    2011-08-08
  • 正则表达式之 贪婪与非贪婪模式详解(概述)

    正则表达式之 贪婪与非贪婪模式详解(概述)

    网上找到的贪婪与非贪婪模式详解,看了这一段基本明白贪婪与非贪婪模式的构成条件
    2012-10-10
  • jQuery正则表达式的使用方法步骤详解

    jQuery正则表达式的使用方法步骤详解

    本文主要和大家分享的就是jQuery学习中正则的使用,正则在jquery里面并没有比JavaScript多哪些知识,基本上是一样的,只是选择器更好了一点,一起来看看吧
    2016-12-12
  • 使用正则表达式生成随机数据的方法

    使用正则表达式生成随机数据的方法

    这篇文章主要介绍了使用正则表达式生成随机数据的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • 65条最常用正则表达式 你要的都在这里了

    65条最常用正则表达式 你要的都在这里了

    最全面的65条最常用正则表达式都在这里了,特分享给大家,帮助大家更好地学习正则表达式
    2016-01-01
  • 正则表达式高级学习技巧

    正则表达式高级学习技巧

    正则表达式高级学习技巧...
    2007-04-04
  • 正则表达式详解

    正则表达式详解

    许多程序设计语言都支持利用正则表达式进行字符串操作,正则表达式又称正则表示法、常规表示法,下面通过本篇文章给大家分享正则表示相关内容,有需要的朋友可以参考下
    2015-08-08

最新评论