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. [Poj1743] [后缀数组论文例题] Musical Theme [后缀数组不可重叠最长重复子串]

    利用后缀数组,先对读入整数处理str[i]=str[i+1]-str[i]+90这样可以避免负数,计算Height数组,二分答案,如果某处H<lim则将H数组分开,最终分成若干块,判断每块中是否 ...

  2. 最小堆的两种实现及其STL代码

    #include<cstdio> #include<iostream> #include<algorithm> #include<vector> boo ...

  3. JAVA的堆和栈(转)

    堆栈是 两种数据结构.堆栈都是一种数据项按序排列的数据结构,只能在一端(称为栈顶(top))对数据项进行插入和删除.在单片机应用中,堆栈是个特殊的存储 区,主要功能是暂时存放数据和地址,通常用来保护断 ...

  4. 使用Visual Studio Code调试Electron主进程

    1.打开VS Code,使用文件->打开,打开程序目录 2.切换到调试选项卡 3.打开launch.json配置文件 4.在“附加到进程”节点上增加localhost配置 5.使用命令行启动el ...

  5. hiho challenge 15 C题

    DP题.状态很容易设,dp[u][0]表示u点子树解决,dp[u][1]表示剩一条链,dp[u][2]表示邻边全炸. 转移有点难,看代码解释: #include <iostream> #i ...

  6. Vim技巧之四大模式_普通模式

    Vim技巧之四大模式_普通模式 一见不钟情的普通模式 普通模式以下的强悍操作 什么是操作符 什么是动作命令 误操作怎么办 那种操作更划算 普通模式下的神奇大招 Vim技巧之四大模式_普通模式 众所周知 ...

  7. jquery ajax CORS 跨域訪问 WebService

    JS代码: var word = document.getElementById("word").value; $.ajax({ type: "POST", c ...

  8. android 5.0新特性学习总结之下拉刷新(一)

    android 5.0 后google最终在 support v4 包下 添加了下拉刷新的控件 项目地址: https://github.com/stormzhang/SwipeRefreshLayo ...

  9. 【Linux】Linux下配置apache

    一.获取软件: http://httpd.apache.org/   httpd-2.4.10.tar.gz 二.安装步骤: 解压源文件: 1) tar zvxf  httpd-2.4.10.tar. ...

  10. cocos2d-x 3.2 之 2048 —— 第二篇

    ***************************************转载请注明出处:http://blog.csdn.net/lttree************************** ...