grep (缩写来自Globally search a Regular Expression and Print)是一种强大的文本搜索工具,它能使用特定模式匹配(包括正则表达式)搜索文本,并默认输出匹配行。Unix的grep家族包括grep、egrep和fgrep, egrep和fgrep是grep的扩展,与Windows下命令 findstr 类似。

命令格式:  grep string filename

--color    同—color=auto   高亮显示匹配到的字符串,也可使用别名alias实现,alias grep=‘grep --color=auto’

-v     --revert-match,反向查询,即输出没有匹配到的字符串

-i      --ignore-case,忽略大小写

-n     --line-number,在匹配到的内容前显示行号

-c     --count,匹配到字符串的行数(注意:不是匹配到的次数)

-o      grep默认输出匹配到字符串所在行的全部内容,-o选项仅显示匹配到的字符串

      每个匹配到的字符串都会显示为一行,即若在一行中匹配到n个字符串,会输出n行字符串(每行一个字符串)(用于统计字符串出现在文本中的次数)

-w      完全匹配整个单词,不匹配含有字符串的单词,例如 magic 不匹配会 magical

-a      把二进制文件当做文本处理

-An(after) 显示匹配字符串及其后n行数据

-Bn(before) 显示匹配字符串及其前n行数据

-Cn(context) 显示匹配到的字符串及其前后n行

例:

grep 'linux'   test.txt   test2.txt   //从多个文件中查找linux

多文件查询时,会把文件名在行首输出,并且加上":"作为标示符。

例:

find . -name ".log" | grep -i error | grep -vi "info"

1、使用find -name 来列出所有log文件,重定向给grep

2、使用grep -i 来查找包含error的行

3、使用grep -vi 来查找不包含info的行

egrep与grep -E

grep 过滤多个条件

错误写法:

netstat -an|grep "ESTABLISHED|WAIT"      //默认grep不支持多条件匹配

正确写法:

netstat -an|grep -E "ESTABLISHED|WAIT"    //grep -E 并将条件用""包起来,条件之间用“|”管道符分开

grep -E  '123|abc'  filename  // 找出文件(filename)中包含123或者包含abc的行

egrep  '123|abc'  filename    // 用egrep同样可以实现

awk  '/123|abc/'  filename   // awk 的实现方式

与  &         或  |    非  !

grep命令总结的更多相关文章

  1. linux grep命令

    linux grep命令1.作用Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regular Expressio ...

  2. grep 命令

    简单介绍:grep命令是用于分析一行信息,若当中有我们所需要的信息,就将该行取出来. 语法结构:grep [-acinv] [--color=auto] '查找关键字' #{filename} -a: ...

  3. linux管道命令grep命令参数及用法详解---附使用案例|grep

    功能说明:查找文件里符合条件的字符串. 语 法:grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>] ...

  4. grep 命令详解

    [root@www ~]# grep [-acinv] [--color=auto] '搜寻字符串' filename 选项与参数: -a :将 binary 文件以 text 文件的方式搜寻数据 - ...

  5. grep 命令操作

    linux grep命令 1.作用Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regular Expressi ...

  6. Linux命令(23)grep命令的使用

    grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正 ...

  7. 每天一个linux命令(39):grep 命令

    Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regular Expression Print,表示全局正则表达 ...

  8. grep命令的使用

    grep是UNIX和LINUX中使用最广泛的命令之一.grep允许对文本文件进行模式查找.如果找到匹配模式, grep打印包含模式的所有行.grep支持基本正则表达式,也支持其扩展集.grep有三种变 ...

  9. 由一条Linux的grep命令说起

    今天在开发的时候,看到同事使用了这样的一条linux命令 grep 'class YourClass' -rwi * |grep -v svn 想到了 grep命令的,几个参数. -r 明确要求搜索子 ...

  10. 今天执行grep命令差点把服务器搞崩

    grep "rst" -r ./ >> a.log 今天执行这个命令差点把服务器搞崩了. 本意是查找所有源代码文件中含有rst字符串的行,打印到文件a.log中,然后进 ...

随机推荐

  1. js es6 Object.freeze

    将对象冻结,使用Object.freeze方法 const foo = Object.freeze({}); // 常规模式时,下面一行不起作用: // 严格模式时,该行会报错 foo.prop = ...

  2. Jquery书写ajax

    根据API学习本章 Jquery书写ajax 使用ajax发送表单到servlet,发送时显示等待图片,servlet处理完返回信息,在页面显示返回信息,并且隐藏等待图片 <%@ page la ...

  3. hdu_1036_Average is not Fast Enough_201311021335

    Average is not Fast Enough! Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (J ...

  4. Spring MVC-表单(Form)标签-隐藏字段(Hidden Field)示例(转载实践)

    以下内容翻译自:https://www.tutorialspoint.com/springmvc/springmvc_hidden.htm 说明:示例基于Spring MVC 4.1.6. 以下示例显 ...

  5. [转]WCF的几种寄宿方式

    转自:WCF开发框架形成之旅---WCF的几种寄宿方式 WCF寄宿方式是一种非常灵活的操作,可以在IIS服务.Windows服务.Winform程序.控制台程序中进行寄宿,从而实现WCF服务的运行,为 ...

  6. HDU 3473

    分析可知,最优的x应该在区间中的数排列后最中间的地方选择.由于区间的数个数有奇偶之分,于是当奇数个时,就是中位数了.偶数个时,就是排列后中间两数区间的任意一个. 可以应用划分树求得前半部分,树状数组统 ...

  7. 《JAVA程序设计》实训第一天——《猜猜看》游戏

    课程实训是做一个猜猜看的小游戏.对于对代码不熟悉不了解的我来说的确挺难的.可是我还是会努力的. import java.awt.EventQueue; import javax.swing.JFram ...

  8. ios调用dismissViewController的一个小陷阱

    我们的APP从启动到进入主页面.是通过presentViewController构造了一个ViewController序列,类似于首页 -> 登陆页 -> 启动载入页 -> 主页面 ...

  9. Java 构造时成员初始化的陷阱

    1.首先列出代码 Base.java public class Base { Base() { preProcess(); } void preProcess() {} } Derived.java ...

  10. uboot向内核模块传递参数的方法

    1 模块参数 定义模块参数 1 module_param(name, type, perm); 定义一个模块参数, name 变量名 type 数据类型 bool:布尔型 invbool:一个布尔型( ...