正则grep用法

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

  1. 过滤出带有某个关键词的行并输出行号
    grep -n ‘root’ 1.txt
  2. 过滤出不带有某个关键词的行并输出行号
    grep -nv ‘root’ 1.txt
  3. 过滤出所有包含数字的行
    grep ‘[0-9]‘ 1.txt
  4. 过滤出所有不包含数字的行
    grep -v ‘[0-9]‘ 1.txt
  5. 去除所有以#开头的行
    grep -v ‘^#‘ 1.txt
  6. 去除所有空行和以#开头的行
    grep -v ‘^$‘ 1.txt|grep -v ‘^#‘
  7. 过滤出以英文字母开头的行
    grep ‘^[a-zA-Z]‘ 1.txt
  8. 过滤出以非数字开头的行
    grep -v ‘^[0-9]‘ 1.txt或者grep ‘^[^0-9]‘ 1.txt
  9. 过滤任意一个或多个字符
    grep ‘r.o‘ 1.txt;grep ‘rt‘ 1.txt ;grep ‘r.t‘ 1.txt
  10. 过滤出包含root的行以及下面一行
    grep -A1 ‘root‘ 1.txt
  11. 过滤出包含root的行以及上面一行
    grep -B1 ‘root‘ 1.txt
  12. 指定过滤字符次数
    grep ‘o{2}‘ 1.txt
  13. 把一个目录下,过滤所有.php文档中含有eval的行
    grep -r --include="
    .php" ‘eval‘ /data/
  14. 过滤两个或多个关键词
    grep -E ‘123|abc‘ filename #找出文件中包含123或者abc的行
    或者egrep ‘123|abc‘ filename
    或者awk ‘/123|abc/‘ filename

egrep=grep -E

  1. 匹配1个或者1个以上+前面的字符
    egrep ‘o+‘ 1.txt
  2. 匹配0个或者1个?前面的字符
    egrep ‘o?‘ 1.txt
  3. 匹配roo或者匹配body
    egrep ‘roo|body‘ 1.txt
  4. 用括号表示一个整体,下面例子会匹配roo或者ato
    egrep ‘r(oo)|(at)o‘ 1.txt
  5. 匹配1个或者多个oo
    egrep ‘(oo)+‘ 1.txt

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

原文地址:http://blog.51cto.com/10941098/2135812

时间: 2024-10-03 13:46:02

正则grep用法的相关文章

Linux正则grep/egrep的用法

*grep的主要作用是根据关键字检索内容,egrep是grep的拓展,egrep包含grep所有的功能 grep用法: grep '关键词' 检索对象 常用参数:-c 检索包含关键词的行数-i 不区分大小写(关键字)-n 显示行号-v 取反(显示不包含关键词的行)-r 遍历所有子目录(检索目录使用)-An 检索包含关键词的行以及下面n行-Bn 检索包含关键词的行以及上面n行-Cn 检索包含关键词的行以及上下n行-E 等于egrep 特殊用法示例: [[email protected] ~]# g

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

Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户. 主要参数    [options]主要参数:    -c:只输出匹配行的计数.    -I:不区分大 小写(只适用于单字符).    -h:查询多文件时不显示文件名.    -l:查询多文件时只输出包含匹配字符的文件名.    -n:显示匹配行及 行号.    -s

grep用法简介之二

上一篇文章总结了一些grep基本用法.在这次的内容里介绍grep和正则表达式结合使用的方法. 首先介绍下正则表达式,正则表达式非基本和扩展两种. 名词释义:正则表达式:正则表达式其实就是描述某些复杂规则字符串的代码集合. 元字符:在正则表达式中具有特殊意义的专用字符 正则表达式 基本正则表达式元字符: ^ :表示行首    $ :表示行尾      ^$:表示空白行      * :表示星之前字符的0个或任意个字符,例如:a*:表示0个a或任意一个a的字符,所以就是全显示出来了.      .

grep用法简介之一

grep是Linux中个非常重要也是经常使用的文本搜索工具,最近又回顾学习了一遍,趁热自己总结一下. Linux中关于grep的命令一共有三个(以centos6.4为例) grep  :只支持基本正则表达式 egrep :支持扩展正则表达式,此命令其实是 "grep -E" 的别名 fgrep : 不支持正则表达式,搜索速度在3个命令中最快. grep命令用法格式: grep [OPTIONS] PATTERN [FILE...] 主要参数 --color=auto :使匹配的字符用彩

sed及grep用法详解

在linux系统有被称为文本处理三剑客grep,sed,awk. 今天与大家分享的就是gerp和sed处理工具,至于awk,我将会在晚些的时间与大家分享,在分享grep和sed之前我先要和大家说说正则表达,正则表达是什么呢,正则表达式就像是三剑客手里的剑,没有剑哪还能称的上什么剑客,所以我们要先了解以下正则表达式的简单用法. 什么是正则表达式: "正则表达式是描述一组字符窜特征的模式,用来匹配特定的字符串."--Ken Thompson 基本正则表达式的元字符有以下这些: . :匹配任

grep用法

grep简单正则用法 常用参数 -A:后面加数字,列出后续n行 -B:后面加数字,列出前面n行 -v:反向选择 -i:不分大小写 -n:显示行号 --color=auto:显示关键字颜色 grep -n '[^g]oo' 反向选择oo前面不能有g grep -n '[^a-z]oo' 反向选择oo前面不能有小写字母 ^$ 行首行尾 grep '^the' 文件名 the开头的行 grep -n '^[a-z]'   小写字母开头 grep -n '^[^a-zA-Z0-9]' 不已数字字母开头的

linux grep用法

grep命令功能:输入文件的每一行中查找字符串. 基本用法:grep [-acinv] [--color=auto] [-A n] [-B n] '搜寻字符串' 文件名参数说明:-a:将二进制文档以文本方式处理-c:显示匹配次数-i:忽略大小写差异-n:在行首显示行号-A:After的意思,显示匹配字符串后n行的数据-B:before的意思,显示匹配字符串前n行的数据-v:显示没有匹配行-A:After的意思,显示匹配部分之后n行-B:before的意思,显示匹配部分之前n行--color:以特

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

功能:输入文件的每一行中查找字符串. 基本用法: grep [-acinv] [--color=auto] [-A n] [-B n] '搜寻字符串' 文件名 参数说明: -a:将二进制文档以文本方式处理-c:显示匹配次数-i:忽略大小写差异-n:在行首显示行号-A:After的意思,显示匹配字符串后n行的数据-B:before的意思,显示匹配字符串前n行的数据-v:显示没有匹配行-A:After的意思,显示匹配部分之后n行-B:before的意思,显示匹配部分之前n行 --color:以特定颜

grep用法详解:grep与正则表达式 [转]

正则表达式与通配符不一样,它们表示的含义并不相同. grep命令的选项用于对搜索过程进行补充说明.grep命令的模式十分灵活,可以是字符串.变量,还可以是正则表达式. 无论模式是何种形式,只要模式中包含了空格,就需要使用双引号或单引号将模式引起来. '搜寻字符串’是正则表达式,注意为了避免shell的元字符对正则表达式的影响,请用单引号(’’)括起来,千万不要用双引号括起来("”)或者不括起来.正则表达式只是一种表示法,只要工具支持这种表示法, 那么该工具就可以处理正则表达式的字符串.vim.g