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

相关文章

  • 常用正则表达式大全(金钱,非负整数,正整数,邮箱,手机号码)

    常用正则表达式大全(金钱,非负整数,正整数,邮箱,手机号码)

    正则表达式,又称规则表达式,计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。接下来通过本文给大家分享常用正则表达式大全(金钱,非负整数,正整数,邮箱,手机号码),感兴趣的朋友一起看看吧
    2020-01-01
  • python 正则表达式获取字符串中所有的日期和时间

    python 正则表达式获取字符串中所有的日期和时间

    这篇文章主要介绍了python 正则表达式获取字符串中所有的日期和时间,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-10-10
  • 比较全面的C 、Java、JavaScript中的正则表达式详解

    比较全面的C 、Java、JavaScript中的正则表达式详解

    正则表达式(Regular Expression) 就是用某种模式去匹配一类字符串的公式。本篇文章给大家介绍C 、Java、JavaScript中的正则表达式,本文介绍的非常全面,感兴趣的朋友一起看看吧
    2015-10-10
  • js正则表达式 匹配两个特定字符间的内容示例

    js正则表达式 匹配两个特定字符间的内容示例

    今天小编就为大家分享一篇js正则表达式 匹配两个特定字符间的内容示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • 正则匹配后面非指定字符的正则

    正则匹配后面非指定字符的正则

    正则匹配后面非指定字符的正则...
    2006-11-11
  • 正则基础之 环视 Lookaround

    正则基础之 环视 Lookaround

    环视只进行子表达式的匹配,不占有字符,匹配到的内容不保存到最终的匹配结果,是零宽度的。环视匹配的最终结果就是一个位置。
    2009-07-07
  • 当ES6遇上字符串和正则表达式

    当ES6遇上字符串和正则表达式

    这篇文章主要介绍了当ES6遇上字符串和正则表达式的相关知识,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-08-08
  • 浅析golang 正则表达式

    浅析golang 正则表达式

    Go(又称Golang)是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。这篇文章给大家介绍golang 正则表达式的相关知识,感兴趣的朋友跟随小编一起看看吧
    2020-10-10
  • php正则表达式完全教程之精华篇

    php正则表达式完全教程之精华篇

    这篇文章主要给大家介绍php正则表达式的部分例子和php正则表达式的匹配规则,需要的朋友可以参考下
    2015-09-09
  • 深入理解正则表达式语法知识

    深入理解正则表达式语法知识

    这篇文章主要介绍了正则表达式语法知识的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-08-08

最新评论