接受正则表达式,按行匹配,将会过滤出匹配的所有行

格式:

grep   [OPTION]...     PATTERN    [FILE]...

可以看出,grep后可以同时接多个文件

选项OPTION:

--color=auto                 通常情况下grep过滤后不会有颜色区分,使用该选项添加颜色

-E                      支持扩展的正则表达式

-o                      grep默认输出匹配的行,使用该选项仅输出匹配的关键词

-v                     反向匹配

-c                      匹配行的数量,而不是匹配次数(一行之内有多个匹配,仅计数1)

-n                     输出行号

-i                      忽略大小写

-P                      支持perl的正则

-w                     把表达式作为单词来查找,相当于正则中的"\<...\>"(...表示你自定义的规则)

-x                      被匹配到的内容和某行完全相同才能别过滤出来,相当于正则"^...$"

-m NUM            只在前NUM行进行匹配,之后的所有行不再匹配

-q                 不输出匹配的字符串,而只是想知道是否能够成功匹配(通过返回值)

-a                      搜索二进制文件

-b          通常配合-o选项使用,打印出匹配行的字节偏移量(注意是行的字节偏移量,不是关键词)

-l          在多个文件中搜索匹配文本,找出位于哪个文件,仅会输出文件列表(不在输出匹配行)

-L         和-l相反,列出不匹配的文件列表

-r和-R          在某个目录中搜索匹配的模式,且递归进行

-e            匹配多个模式:$ grep     -e "pattern1"    -e "pattern2"

-f  pattern_file            在文件中指定多个样式,每个样式一行,也可匹配多个模式

-Z            输出每个匹配行或文件列表(-l或-L的输出)时,使用null(\0)作为文件分隔,而不是默认的\n

--include  *.{c,cpp}                仅搜索以.c或.cpp结尾的文件

--exclude  "readme.txt"              在除readme.txt之外的文件中进行搜索

--exclude-dir  DIR                           排除某个目录,不进行搜索

--exclude-from  FILE                       从文件中读取要排除的文件列表

-A  n              输出匹配行之后的n行

-B  n              输出匹配行之前的n行

-C  n              输出匹配行之前及之后各n行

示例:

[root@slave1 ~]# alias
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'          #

egrep扩展

egrep在grep的基础上增加了更多的元字符。但是egrep不允许使用\(\),\{\},因为egrep本身就支持扩展的正则表达式

egrep使用的正则表达式元字符

文本三剑客之grep的更多相关文章

  1. 文本三剑客之grep的用法

    第1章         正则表达式 1.1    正则表达式的介绍               正则是用来过滤文件内容               为处理大量文本|字符串而定义的一套规则和方法.    ...

  2. 文本三剑客之grep及正则表达式

    1.grep 1. 什么是grep.egrep和fgrep Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来(匹配到的标红).grep全称是Glo ...

  3. linux文本三剑客之grep

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

  4. Linux 文本三剑客之 grep

    Linux 系统中一切皆文件. 文件是个文本.可以读.可以写,如果是二进制文件,还能执行. 在使用Linux的时候,大都是要和各式各样文件打交道.熟悉文本的读取.编辑.筛选就是linux系统管理员的必 ...

  5. Linux文本三剑客超详细教程---grep、sed、awk

    awk.grep.sed是linux操作文本的三大利器,合称文本三剑客,也是必须掌握的linux命令之一.三者的功能都是处理文本,但侧重点各不相同,其中属awk功能最强大,但也最复杂.grep更适合单 ...

  6. Linux文本处理三剑客之grep及正则表达式详解

    Linux文本处理三剑客之grep及正则表达式详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Linux文本处理三剑客概述 grep: 全称:"Global se ...

  7. linux文本处理三剑客之 grep

    文本处理无非是对文本内容做查看.修改等操作.Linux三剑客: grep.sed 和 awk 命令. 处理文本内容,用 Vim 编辑器不是很好吗?Vim 允许我们使用键盘.鼠标来对文本内容进行交互性地 ...

  8. Linux文本处理三剑客之——grep

    一Linux文本处理三剑客之——grep Linux文本处理三剑客都支持正则表达式 grep :文本过滤( 模式:pattern) 工具,包括grep, egrep, fgrep (不支持正则表达式) ...

  9. shell 文本处理三剑客之 grep 和 egrep

    shell 三剑客之 grep 命令语法格式 grep 参数 案例 显示file中有python的行 grep python file 显示没有python的行,不忽略大小写 grep -v pyth ...

随机推荐

  1. jmeter远程运行GUI多用户负载

    1.在Jmeter控制机的bin目录下找到jmeter.properties文件并修改”remote_hosts”,增加负载机IP,多个IP使用英文逗号隔开,修改后要重启Jmeter.如下图: 2.添 ...

  2. 通过 xshell 连接 ubuntu on windows(WSL)

    装上 ubuntu on windows 后,默认要先打开 cmd, 再运行 bash 进入 ubuntu 的 shell. 但是这个shell很难看,配色不好就算了,还存在各种复制粘贴麻烦. 默认没 ...

  3. Python文件将日志文件中每天的日志拿出来

    file_log.txt文件内容如下: with open('file_log.txt', 'r', encoding='utf-8') as f: for i in f: s = i.split() ...

  4. 排序二叉树 HDOJ 5444 Elven Postman

    题目传送门 题意:给出线性排列的树,第一个数字是根节点,后面的数如果当前点小或相等往左走,否则往右走,查询一些点走的路径 分析:题意略晦涩,其实就是排序二叉树!1<<1000 普通数组开不 ...

  5. 解决 Cordova命令突然无法使用问题.

    问题背景 之前一直在做 Cordova 方面, 然后准备自己尝试使用 Vue + WebPack 再配合 Cordova 做一个 App . 更新了 npm , 然后然后, 我的 cordova 这个 ...

  6. java环境变量配置加maven配置

    1.安装JDK开发环境 下载网站:http://www.oracle.com/ 确定之后,单击“下一步”. 2.配置环境变量: 单击“计算机-属性-高级系统设置”,单击“环境变量”.在“系统变量”栏下 ...

  7. PKU_campus_2018_H Safe Upper Bound

    思路: 题目链接http://poj.openjudge.cn/practice/C18H/ 用2147483647除以最大素因子. 这里用了Pollard_rho因子分解算法,模板参考了http:/ ...

  8. iphone x 高度:100%; 兼容设置

    问题: iphone x 会遇到页面设置 height:100%;之后但是底部还有一定的高度没有覆盖 解决方法: 1.让客户端设置webview的高度为100%; 2.html代码里面添加 viewp ...

  9. Flutter 1.0 正式版: Google 的跨平台 UI 工具包

    今天我们非常高兴的宣布,Flutter 的 1.0 版本正式发布!Flutter 是 Google 为您打造的 UI 工具包,帮助您通过一套代码同时在 iOS 和 Android 上构建媲美原生体验的 ...

  10. java中properties的使用实例

    package com.ywx.io; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputSt ...