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. 背包again

    Gy最近学习了01背包问题,无聊的他又想到了一个新的问题,给定n个物品的价值,和01背包一样,每个物品只能选1次或0次,求最小不能被得到的价值. 输入 第一行一个正整数T(T <= 100),表 ...

  2. 【转】Maven的安装与使用(ubuntu)

    原文: http://www.cnblogs.com/yunwuzhan/p/5900311.html https://maven.apache.org/guides/getting-started/ ...

  3. volatile非原子性的示例

    volatile非原子性的示例 package com.stono.thread2.page124; public class MyThread extends Thread { volatile p ...

  4. windows脚本(VBS)之cmd命令行的妙用

    windows脚本(VBS)之cmd命令行的妙用 (2009-08-06 13:40:55) 转载▼ 标签: 脚本 cmd 命令行 vbs js 简单 公式 windows it 分类: 计算机 脚本 ...

  5. javascript 数组,数组中加入新元素 push() ,unshift() 相当于Add()

    <1> var   a   =   [];     //建立数组 push   方法     将新元素加入到一个数组中,并返回数组的新长度值.

  6. ASP.NET MVC脚本及样式压缩

    现在我用ASP.NET MVC4.0,发现它自带有脚本和样式压缩功能.不知道以前的版本有木有,没有深究.太棒了!以前我们还辛辛苦苦自己搞了一个压缩的东西.这再次说明,平庸程序员如我辈,应该把时间和精力 ...

  7. Codeforces--617B--Chocolate(规律)

     Chocolate Time Limit: 1000MS   Memory Limit: 262144KB   64bit IO Format: %I64d & %I64u Submit ...

  8. fsockopen get,post 封装 (转)

    function http_request($url, $method = 'GET', $postfields = NULL, $headers = array()) {   $parse = pa ...

  9. PCB MS SERVER 使用bcp命令将数据库数据导出到Excel

    在前年工程系统与APS系统对接时,需将工程系统数据导出来给APS,采用的正是bcp命令实现,速度超快. 这里将此命令使用方法整理如下: 一.写SQL将表数据导出到Excel @echo "& ...

  10. ecshop类的解析1

    前面写了一下我理解的ecshop数据库表,现在看一下我理解的ecshop的类. ecshop类,ECS是一个基础类,它的取得域名的函数我感觉是比较不错的. function get_domain() ...