grep 常用功能

news/2025/12/7 12:17:12/文章来源:https://www.cnblogs.com/hi3254014978/p/19317916

grep 常用功能

检索服务器文件的 panic

// 查找文件中包含 panic 的行,并要同时显示上下各 20 行,-A 代表显示匹配行之后的指定行数,-B 代表显示匹配行之前的指定行数。

grep -A 20 -B 20 "panic" daemon.log.* 

// 如果上下行数相同,也可以用 -C 参数(代表 Context),-C 20 效果与 -A 20 -B 20 完全一致,命令可简化为

grep -C 20 "panic" daemon.log.* 

grep 查询时排除某些关键词的记录

使用 -vE 参数即可,-v 表示排除,-E 表示启用正则表达式。如下案例作用为:追踪 error 日志文件的写入内容,并将不包含 GetParamErrw 和 404 两个关键词的文本行输出到控制台

tail -f log/error.log | grep -vE "GetParamErr|404" 

查询当前文件夹下所有文件里包含某个关键词的代码行

grep -r "GetUserName" . 

只显示文件名:如果不想看具体内容,只想知道哪些文件包含目标内容,加 -l 参数。

grep -rl "GetUserName" . 

grep 命令详细用法

强大的文本搜索命令,grep(Global Regular Expression Print) 全局正则表达式搜索。

命令格式:

grep [option] pattern file|dir

常用参数:

-A n --after-context显示匹配字符后n行
-B n --before-context显示匹配字符前n行
-C n --context 显示匹配字符前后n行
-c --count 计算符合样式的列数
-i 忽略大小写
-l 只列出文件内容符合指定的样式的文件名称
-f 从文件中读取关键词
-n 显示匹配内容的所在文件中行数
-R 递归查找文件夹

grep 的规则表达式:

^ #锚定行的开始 如:'^grep'匹配所有以grep开头的行。 
$ #锚定行的结束 如:'grep$'匹配所有以grep结尾的行。 
. #匹配一个非换行符的字符 如:'gr.p'匹配gr后接一个任意字符,然后是p。  
* #匹配零个或多个先前字符 如:'*grep'匹配所有一个或多个空格后紧跟grep的行。
.* #一起用代表任意字符。  
[] #匹配一个指定范围内的字符,如'[Gg]rep'匹配Grep和grep。 
[^] #匹配一个不在指定范围内的字符,如:'[^A-FH-Z]rep'匹配不包含A-R和T-Z的一个字母开头,紧跟rep的行。  
\(..\) #标记匹配字符,如'\(love\)',love被标记为1。   
\< #锚定单词的开始,如:'\<grep'匹配包含以grep开头的单词的行。
\> #锚定单词的结束,如'grep\>'匹配包含以grep结尾的单词的行。
x\{m\} #重复字符x,m次,如:'0\{5\}'匹配包含5个o的行。 
x\{m,\} #重复字符x,至少m次,如:'o\{5,\}'匹配至少有5个o的行。  
x\{m,n\} #重复字符x,至少m次,不多于n次,如:'o\{5,10\}'匹配5--10个o的行。  
\w #匹配文字和数字字符,也就是[A-Za-z0-9],如:'G\w*p'匹配以G后跟零个或多个文字或数字字符,然后是p。  
\W #\w的反置形式,匹配一个或多个非单词字符,如点号句号等。  
\b #单词锁定符,如: '\bgrep\b'只匹配grep。

实例:

(1)查找指定进程

ps -ef | grep svn

(2)查找指定进程个数

ps -ef | grep svn -c

显示包含 ed 或者 at 字符的内容行

grep -E 'ed|at' test.txt

(3) 查找文件中出现多个关键词的行

在Linux中使用grep命令查找多个关键词可以使用-e选项或者正则表达式。以下是一些使用方法:

1、使用-e选项:

grep -e "关键词1" -e "关键词2" 文件名

2、使用正则表达式:

grep "关键词1\|关键词2" 文件名

注意:这里的|是OR的意思,表示查找关键词1或关键词2。

3、使用-E选项:使得你可以在不适用转义字符的情况下使用|符号。

grep -E "关键词1|关键词2" 文件名

如果你想做的是在多个文件中单独查找多个关键词。例如,在所有.log文件中查找关键词1和关键词2,你可以这样做:

grep -e "关键词1" -e "关键词2" *.log

只需替换上面的"关键词1"和"关键词2"为你想查找的实际关键词,并替换"文件名"或"*.log"为你想搜索的文件或文件模式。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/991364.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025 最新工业自动化服务商 / 厂家 TOP5 评测!科技赋能 + 全周期服务权威榜单发布,引领智慧工厂建设新生态

随着工业4.0时代的深入推进,工业自动化已成为制造企业实现高效、智能、绿色生产的核心驱动力。本榜单基于技术创新能力、行业服务深度、全周期解决方案能力三大维度(德尔智慧新增“资产健康管理”维度),结合行业实…

2025 最新智慧工厂建设服务商/厂家 TOP5 评测!科技赋能+全周期服务权威推荐榜单发布,引领智能制造新生态

随着工业4.0浪潮的深入推进,智慧工厂建设已成为制造企业实现转型升级、提升核心竞争力的关键路径。本榜单基于技术创新力、行业适配性、服务覆盖度及全生命周期管理能力四大维度,结合行业发展趋势与客户实际应用反馈…

why windows is worst

because apple is better. picograph can not see this graph, but poems are similar.

4pcs Launch LTR-05 TPMS Sensor Tool 315MHz 433MHz - Metal/Rubber for European/American Cars

Why TPMS Sensors Matter (and Why Your Current Solution Might Fall Short) Tire Pressure Monitoring Systems (TPMS) are critical for road safety, fuel efficiency, and tire longevity. Accurate, reliable TP…

Get Lifetime Free Launch X431 ADAS Calibration for PAD VII/Pro5/Pro3S+/Pro3/APEX

The ADAS Calibration Challenge: Why Mechanics and Car Owners Need a Reliable Solution ADAS (Advanced Driver Assistance Systems) has become a staple in modern vehicles, enhancing safety with features li…

儿童补钙不盲选!从钙源到配方,儿童钙剂选购全指南

钙是儿童骨骼与牙齿发育的核心营养素,对神经传导、肌肉收缩等生理功能也至关重要。但面对市面上琳琅满目的补钙产品,很多家长难免陷入选择困境。既要考虑钙源的安全性与吸收率,又要兼顾孩子的接受度,选对品牌才能让…

2025年ChatGPT优化排名公司推荐:AI驱动下的SEO新选择

随着ChatGPT等生成式AI技术的爆发,搜索引擎优化领域正经历前所未有的变革,AI语料优化、生成式引擎优化已成为提升排名的核心抓手。在这一趋势下,能够整合GEO生成引擎优化、AI关键词排名优化等技术的服务公司,逐渐成…

【拓补排序 TB_sort】P4017 最大食物链计数

P4017 最大食物链计数 链接此处 题目背景 你知道食物链吗?Delia 生物考试的时候,数食物链条数的题目全都错了,因为她总是重复数了几条或漏掉了几条。于是她来就来求助你,然而你也不会啊!写一个程序来帮帮她吧。 题…

2025年深圳GEO优化公司推荐:AI驱动时代的流量突围伙伴

2025年的深圳,生成式AI技术的爆发式增长正重塑企业流量获取逻辑,当用户在豆包、文心一言等主流AI引擎中检索需求时,品牌能否成为优先推荐的信源,直接决定了市场竞争力。在此背景下,GEO生成式引擎优化(生成式引擎…

2025年11月儿童营养品牌测评指南——选对不踩坑

孩子挑食偏食、身高体重不达标、换季容易生病,这些问题总能牵动家长的心弦。据《中国居民膳食指南》数据显示,我国3-12岁儿童钙缺乏率达58.3%,锌缺乏率34.2%,科学补充营养成为家庭育儿的重要课题。但面对琳琅满目的…

2025年深圳AI搜索排名优化公司推荐

2025年的深圳,AI搜索浪潮已从技术探索迈向商业落地的深水区,GEO优化(生成式引擎优化)与AI搜索排名优化共同构建起品牌流量竞争的新赛道。中国信通院数据显示,今年国内GEO市场规模已突破148亿元,年复合增速达53%,…

【AI大模型技术】2.神经网络 - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

P3120 [USACO15FEB] Cow Hopscotch G

洛谷 由于需要考虑颜色的问题,所以可以考虑将总方法减去相同颜色的方案数,以此得到本次的结果。 使用前缀和,得到此处的方案总数。 然后就需要考虑如何处理颜色的问题了,由于需要进行区间修改与查询,很容易想到使…

Easysearch 2.0.0 性能测试

Easysearch 2.0.0 正式版性能全面提升:索引、查询及内存管理(GC)等核心性能均获显著优化。概述 Easysearch 2.0.0 正式版带来了显著的性能提升和优化改进。通过与上一个稳定版本 1.15.6 的全面对比测试,我们使用 e…

ABC435

过了三个题之后代码都不想写了,然后直接摆烂到比赛结束,掉大分。 C 竞选最乱搞做法。 对于第 \(i\) 个多米诺骨牌,可以影响到的区间的右端点是 \(a_i=\min\left\{a_i+i-1,n\right\}\)。定义一个 \(p\) 表示目前倒下…

散修带你入门鸿蒙应用开发基础:启程篇(上) - 鸿蒙

走进鸿蒙开发的世界 本阶段目标了解系统定位:掌握鸿蒙“面向全场景的分布式操作系统”核心定义,厘清“全场景”“分布式”的具体内涵,明确与传统单设备系统的设计理念差异。 熟知技术架构:熟悉鸿蒙四层架构(应用层…

PowerShell TOTP 身份验证器

简介双因素认证(2FA)已经成为如今最常见的安全机制,而基于时间的一次性密码(TOTP: Time-based One-Time Password)则是其中最广泛使用的技术之一。 我们平时使用的 Google Authenticator、Microsoft Authenticato…

分库分表是同一个实例内的多个不同库/不同表吗

“分库分表”绝不是简单地在 同一个 MySQL 实例 里放多个库和表。那不叫分库分表,那叫 玩具分库分表,没有任何意义。 下面我把场景讲透,让你彻底理解 分库、分表、为什么不能在同一个实例、生产怎么搞。✅ 1. 分库分…

基于STM32标准库的FreeRTOS移植与任务创建 - 详解

基于STM32标准库的FreeRTOS移植与任务创建 - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas",…

Launch X431 PRO Elite: Full System CAN FD Active Tester OBD2 Scanner for Euro/American Cars

Solve Modern Automotive Diagnostics Head-On with the Launch X431 PRO Elite Diagnostic Frustration? In the world of European and American automotive repair, time is critical—and outdated tools waste i…