Linux grep 命令非常常用,经常用于匹配文本字符。基本语法如下:

grep 'keyword'fileName.txt

  如上所示,Linux grep 命令用于查找文件里符合指定条件的字符串,如果发现某文件的内容符合所指定的范本样式,则grep 指令会把含有范本样式的那一行显示出来。grep 命令支持三种正则表达式语法:Basic、Extended 和 Perl-compatible 。当没有指定正则表达式类型时,grep 命令将搜索模式默认为基本正则表达式。

  《Linux grep查询关键词首次或者最近一次出现的地方》介绍了如何取出文件中关键词keyword首次或者最近出现的记录。但是,一般情况下,grep 命令只能匹配一个关键字,怎么实现匹配多个关键字呢?

  更多关于Linux命令的传送门——《五分钟扫盲:25个工作中常用的Linux命令》。

grep ‘keyword’

  先介绍最普通的使用方式,用于匹配文件中包含一个 keyword 的记录:

grep 'keyword' fileName.txt

  即匹配fileName.txt 中包含关键词keyword的记录。下面开始分析怎么实现匹配多个关键字。

grep -E 匹配任意一个关键字–或关系

grep -E "keyword1|keyword2|keyword3" fileName.txt

  匹配 fileName.txt 中包含 keyword1、keyword2 或 keyword3 任意一个关键词的记录,只要满足其中任意条件就会被匹配。-E 或 --extended-regexp : 以extended语法的正则表达式查询关键词。-E是核心,千万不要省略。

同时匹配多个关键字–与关系

  使用管道符连接多个 grep ,实现多个关键字的与关系检索:

grep keyword1 file.txt | grep keyword2 |grep keyword3

必须同时满足三个条件(keyword1、keyword2和keyword3)才匹配。

夯实基础

  场景描述: 系统报警显示了时间,但是日志文件太大无法直接 cat 查看。(查询含有特定文本的文件,并拿到这些文本所在的行)

  解决办法

grep --color=auto '2022-12-03 15:32:11' fileName.log | head -3

  查看符合条件的日志记录,高亮展示关键词,只打印前三次出现的记录。

Reference

Linux grep 匹配多个关键字的更多相关文章

  1. linux 用grep匹配横线

    file的内容如下: ADSFADSFSDFASDFJKJK----------------------------------------ADSFADSFSDFASDFJKJK----------- ...

  2. linux grep命令详解

    linux grep命令详解 简介 grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来 ...

  3. Linux grep命令使用方法

    Linux系统中grep命令可以根据指定的字符串或者正则表达式对文件内容进行匹配查找.在Linux文件处理和SHELL编程中使用广泛. grep基本语法 用法: grep [选项] "字符串 ...

  4. Linux grep/egrep命令详解

    grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来 grep搜索成功,则返回0,如果搜索不成功,则返回1,如果搜索的文件不存在,则返回2. grep的规则表达式( ...

  5. linux grep 搜索查找

    查找关键字在哪些文件夹中的哪些文件中出现(只列出文件名称): grep -l 15386257298 */* 查找关键字在哪些文件夹中的哪些文件中出现(列出文件名称+关键字): grep -o 153 ...

  6. linux grep 命令

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

  7. 如何使用Unix/Linux grep命令——磨刀不误砍柴工系列

     http://man.linuxde.net/grep ---------------------------------------------------- 如何使用Unix/Linux gre ...

  8. linux grep命令总结

    风生水起善战者,求之于势,不责于人,故能择人而任势. 博客园    首页    新随笔    联系    订阅    管理 posts - 791,  comments - 394,  trackba ...

  9. linux grep详解

    Table of Contents 1. grep简介 2. grep正则表达式元字符集(基本集) 3. 用于egrep和 grep -E的元字符扩展集 4. POSIX字符类 5. Grep命令选项 ...

  10. linux grep 从入门到精通

    linux grep 从入门到精通 一.初级 搜索日志 grep "186" catalina.out 在新输出日志中监听固定字符串 tail -f catalina.out | ...

随机推荐

  1. C#方法练习

    提示用户输入用户名和密码,写一个方法来判断用户输入的是否正确,返回给用户一个登陆结果,并且还要单独的返回给用户一个登陆信息 ,如果用户名错误,除了返回登陆结果之外,还要返回一个 "用户名错误 ...

  2. 【数值计算方法】数值积分&微分-python实现

    目录 数值积分 1. 引言 2. 几个常用积分公式及其复合公式 2.1 求积公式 2.2 代数精度 2.3 复合积分 2.4 常用积分公式的python实现 3. 变步长方法与外推加速技术 4. 牛顿 ...

  3. ITSS 运维-服务台相关内容

  4. idea 缺失右侧maven窗口

    最近整了一个别人的项目到本地,发现在git下载项目到本地后,再通过idea的打开项目后,缺失了右侧的maven窗口. 注: idea是有安装到maven(idea默认是已经安装好的) 打开的项目也是m ...

  5. IDA Pro 初步实践

    实践1 背景 某软件A,在非全屏显示时带有常规菜单,在全屏下没有常规菜单,但是有顶部工具条,工具条上有菜单和按钮.对于全屏和非全屏的切换可以通过菜单,也可以通过快捷键ctrl + alt + ente ...

  6. 使用命令行控制wireshark对抓包文件进行针对性处理的命令总结

    近日,工作中有开发对抓包文件进行针对性过滤的小程序的需求,兜兜转转踩了很多坑后还是绕回了wireshark. 作为最出名的开源软件之一,wireshark也具有使用命令行进行操作的功能,这就是我们今天 ...

  7. RSA密钥生成-已知p、q、e求私钥d的python脚本

    题目: 在一次RSA密钥对生成中,假设p=473398607161,q=4511491,e=17 求解出d作为flag提交 求解过程: 首先计算n和ϕ(n) n=p*q  ϕ(n)=(p-1)(q-1 ...

  8. Linux系统发邮件

    Linux系统发送邮件 管理服务器时我们经常需要写一些监测脚本,然后在出问题的时候通过邮件来通知 SMTP SMTP(Simple Mail Transfer Protocol)简易邮件传输通讯协议 ...

  9. Draw.io:你可能不知道的「白嫖级」图表绘制神器

    介绍 draw.io 是一个在 GitHub 上开源且拥有近十年发展历史的成熟项目,它是一款用于绘制 UML 图表的工具. 如果你曾经为流程图的绘制而流泪,又或是在夜里和UML大战到失眠, 不妨试试它 ...

  10. 【Python】导出docx格式Word文档中的文本、图片和附件等

    [Python]导出docx格式Word文档中的文本.图片和附件等 零.需求 为批量批改学生在机房提交的实验报告,我需要对所有的实验文档内容进行处理.需要批量提取Word文档中的图片和附件以便进一步检 ...