Linux grep 匹配多个关键字
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 匹配多个关键字的更多相关文章
- linux 用grep匹配横线
file的内容如下: ADSFADSFSDFASDFJKJK----------------------------------------ADSFADSFSDFASDFJKJK----------- ...
- linux grep命令详解
linux grep命令详解 简介 grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来 ...
- Linux grep命令使用方法
Linux系统中grep命令可以根据指定的字符串或者正则表达式对文件内容进行匹配查找.在Linux文件处理和SHELL编程中使用广泛. grep基本语法 用法: grep [选项] "字符串 ...
- Linux grep/egrep命令详解
grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来 grep搜索成功,则返回0,如果搜索不成功,则返回1,如果搜索的文件不存在,则返回2. grep的规则表达式( ...
- linux grep 搜索查找
查找关键字在哪些文件夹中的哪些文件中出现(只列出文件名称): grep -l 15386257298 */* 查找关键字在哪些文件夹中的哪些文件中出现(列出文件名称+关键字): grep -o 153 ...
- linux grep 命令
Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regular Expression Print,表示全局正则表达 ...
- 如何使用Unix/Linux grep命令——磨刀不误砍柴工系列
http://man.linuxde.net/grep ---------------------------------------------------- 如何使用Unix/Linux gre ...
- linux grep命令总结
风生水起善战者,求之于势,不责于人,故能择人而任势. 博客园 首页 新随笔 联系 订阅 管理 posts - 791, comments - 394, trackba ...
- linux grep详解
Table of Contents 1. grep简介 2. grep正则表达式元字符集(基本集) 3. 用于egrep和 grep -E的元字符扩展集 4. POSIX字符类 5. Grep命令选项 ...
- linux grep 从入门到精通
linux grep 从入门到精通 一.初级 搜索日志 grep "186" catalina.out 在新输出日志中监听固定字符串 tail -f catalina.out | ...
随机推荐
- .NET 10首个预览版发布:重大改进与新特性概览!
前言 .NET 团队于2025年2月25日发布博文,宣布推出 .NET 10 首个预览版更新,重点改进.NET Runtime.SDK.Libraries .C#.ASP.NET Core.Blazo ...
- 网络虚拟存储 Iscsi实现方案
网络虚拟存储,通过Iscsi协议可以实现本地挂载磁盘,扩展本机设备存储. Iscsi有以下实现方案,简单介绍下: 1.Powershell 脚本 PowerShell 提供了一些 cmdlet,比如 ...
- HTTP 和 RPC
TCP 是传输层的协议,而基于 TCP 造出来的 HTTP 和各类 RPC 协议,它们都只是定义了不同消息格式的应用层协议而已. RPC(Remote Procedure Call),又叫做远程过程调 ...
- Joker 可视化开发平台全局方法使用指南
在 Joker 可视化开发平台中,全局方法是实现公共业务逻辑的有力工具,它能跨越组件和页面文件的界限,让开发者快速调用,显著提升开发效率.下面将详细介绍全局方法在平台中的使用方式. 一.全局方法的定义 ...
- bug|Git Hooks pre-commit|git 提交代码报错|error: 'describe' 'it' 'expect' is not defined (no-undef)|pre-commit hook failed (add --no-verify to bypass)|
前言 今天学习 jest 的 vue-test-utils 的配置及使用. 报错原因为 jest 全局变量 git 提交代码报错,使用除了参考链接里的解决方案,正好复习一下之前学习的 Git Hook ...
- bug|项目经验|记录某次页面div使用v-html标签渲染图片等内容的过程
前言 记录某次页面div使用v-html标签渲染图片等内容的过程 一.结论: get请求但被设置Sec-Fetch-*请求头的图片无法展示. 二.原因: 1.本项目中的img标签发起get请求,目标链 ...
- [每日算法 - 华为机试] leetcode680. 验证回文串 II
入口 力扣https://leetcode.cn/problems/valid-palindrome-ii/submissions/ 题目描述 给你一个字符串 s,最多 可以从中删除一个字符. 请你判 ...
- DRAM的读写操作、刷新、恢复的原理
这一节湖科大教书匠讲得特别好,原理梳理的很清晰,建议去b站看一看 写这个只为了自己复习方便一点 对读操作会破坏数据的理解 预充电利用列线上的寄生电容,使得每列的电压保持在\(Vcc/2\) 进行读操作 ...
- Hello, PostgreSQL
Hello, PostgreSQL Whoami:5年+金融.政府.医疗领域工作经验的DBA Certificate:PGCM.OCP.YCP Skill:Oracle.Mysql.PostgreSQ ...
- RK356X网口限速
1. 参考资料 Linux 上的虚拟网络接口,主要要了解一下 IFB,对输入的流量进行整形 https://lyyao09.github.io/2020/06/13/linux/An-introduc ...