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

(0)

相关推荐

  • linux grep正则表达式与grep用法详解

    需要大家牢记:正则表达式与通配符不一样,它们表示的含义并不相同 正则表达式只是字符串的一种描述,只有和支持正则表达式的工具相结合才能进行字符串处理.本文以grep为例来讲解正则表达式. grep命令 功能:输入文件的每一行中查找字符串. 基本用法: grep [-acinv] [--color=auto] [-A n] [-B n] '搜寻字符串' 文件名 参数说明: -a:将二进制文档以文本方式处理 -c:显示匹配次数 -i:忽略大小写差异 -n:在行首显示行号 -A:After的意思,显示匹

  • grep用法详解 grep与正则表达式

    正则表达式只是一种表示法,只要工具支持这种表示法, 那么该工具就可以处理正则表达式的字符串.vim.grep.awk .sed 都支持正则表达式,也正是因为由于它们支持正则,才显得它们强大:在以前上班的公司里,由于公司是基于web的服务型网站(nginx),对正则的需求比 较大,所以也花了点时间研究正则,特与大家分享下: 1基础正则表达式 grep 工具,以前介绍过. grep -[acinv] '搜索内容串' filename -a 以文本文件方式搜索 -c 计算找到的符合行的次数 -i 忽略

  • 正则表达式grep用法详解

    语法:grep 选项 'word' filename -c:打印符合要求的行数 -i:不区分大小写 -n:在输出符合要求的行的同时显示行号 -v:打印不符合要求的行 -A:后跟一个数字n,表示打印符合要求的行以及下面n行 -B:后跟一个数字n,表示打印符合要求的行以及上面n行 -C:后跟一个数字n,表示打印符合要求的行以及上下各n行 -r:会把目录下所有的文件全部遍历 --color:把匹配到的关键词用红色标示 例子: 过滤出带有某个关键词的行并输出行号 grep -n 'root' 1.txt

  • C#正则表达式Regex用法详解

    目录 一.正则表达式应用举例 1.C#校验合法性: 2.C#限制输入 3.正则表达式匹配闭合HTML标签(支持嵌套) 1.分组构造 2.举例: 二..Net正则表达式测试器 1.功能简介 2.下载与安装 3.界面截图 三..NET正则表达式Regex 1.IsMatch(Input,patter[,options]) 否则匹配 1.正则表达式选项:RegexOptions 2.内联标志 2.Match(Input,patter[,options]) 单个匹配 3.Matches(Input,pa

  • Linux常用命令之grep命令用法详解

    1.官方简介 grep是linux的常用命令,用于对文件和文本执行重复搜索任务的Unix工具,可以通过grep命令指定特定搜索条件来搜索文件及其内容以获取有用的信息. Usage: grep [OPTION]... PATTERN [FILE]... Search for PATTERN in each FILE or standard input. PATTERN is, by default, a basic regular expression (BRE). Example: grep -

  • JS中正则表达式全局匹配模式 /g用法详解

    本文章来详细介绍js中正则表达式的全局匹配模式 /g用法,代码如下: var str = "123#abc"; var re = /abc/ig; console.log(re.test(str)); //输出ture console.log(re.test(str)); //输出false console.log(re.test(str)); //输出ture console.log(re.test(str)); //输出false 在创建正则表达式对象时如果使用了"g&q

  • 正则表达式用法详解

    正则表达式之基本概念 在我们写页面时,往往需要对表单的数据比如账号.身份证号等进行验证,而最有效的.用的最多的便是使用正则表达式来验证.那什么是正则表达式呢? 正则表达式(Regular Expression)是用于描述一组字符串特征的模式,用来匹配特定的字符串. 它的应用非常广泛,特别是在字符串处理方面.其常见的应用如下: 验证字符串,即验证给定的字符串或子字符串是否符合指定的特征,例如,验证是否是合法的邮件地址.验证是否是合法的HTTP地址等等. 查找字符串,从给定的文本当中查找符合指定特征

  • 正则表达式中问号(?)的正确用法详解

    目录 1.直接跟随在子表达式后面 2.非贪婪匹配 3.非获取匹配 4.断言 参考资料: 正则表达式中“?”的用法大概有以下几种 1.直接跟随在子表达式后面 这种方式是最常用的用法,具体表示匹配前面的一次或者0次,类似于{0,1},如:abc(d)?可匹配abc和abcd 2.非贪婪匹配 关于贪婪和非贪婪,贪婪匹配的意思是,在同一个匹配项中,尽量匹配更多所搜索的字符,非贪婪则相反.正则匹配的默认模式是贪婪模式,当?号跟在如下限制符后面时,使用非贪婪模式(*,+,?,{n},{n,},{n,m})

  • Python正则表达式中group与groups的用法详解

    目录 1 .group函数 1.1 返回整个匹配结果 1.2 返回指定分组的匹配结果 1.3 处理没有匹配结果的情况 2. groups函数 3. group和groups的使用场景 在Python中,正则表达式的group和groups方法是非常有用的函数,用于处理匹配结果的分组信息.group方法是re.MatchObject类中的一个函数,用于返回匹配对象的整个匹配结果或特定的分组匹配结果.而groups方法同样是re.MatchObject类中的函数,它返回的是所有分组匹配结果组成的元组

  • Python正则表达式re.search()用法详解

    re.search():匹配整个字符串,并返回第一个成功的匹配.如果匹配失败,则返回None pattern: 匹配的规则, string : 要匹配的内容, flags 标志位 这个是可选的,就是可以不写,可以写, 比如要忽略字符的大小写就可以使用标志位 flags : 可选,表示匹配模式,比如忽略大小写,多行模式等,具体参数为: re.I 忽略大小写 re.L 表示特殊字符集 \w, \W, \b, \B, \s, \S 依赖于当前环境 re.M 多行模式 re.S 即为 . 并且包括换行符

随机推荐