Linux必知必会--grep
花更少的时间,去验证一件事情:你到底是富翁,还是贫民。
--一位历经沧桑的炒客
转自:https://man.linuxde.net/grep
grep命令
grep(global search regular expression(RE) and print out the line 全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
参数
-a 不要忽略二进制数据
-A<显示列数> 除了显示符合范本样式的那一行之外,并显示该行后的内容。
-b 在显示符合范本样式的那一行之外,并显示该行之前的内容。
-c 计算符合范本样式的列数
-C <显示列数> 除了显示符合范本样式的那一列之外,并显示该列之前后的内容
-d <进行动作> 当指定要查找的是目录而非文件时,必须使用这项参数,否则grep命令将回报信息并停止动作
-e <范本样式> 指定字符串作为要查找文件内容的范本样式
-E 将版本样式为延伸的普通表示法来使用,意味着使用能使用正则表达式
-f <范本样式> 指定范本文件,其内容有一个或者多个范本样式,让grep查找符合范本条件的文本内容,格式为每列的范本样式。
-F 将范本样式视为固定字符串列表
-G 将范本样式视为普通的表示法来使用
-h 在显示符合范本样式的那一列之前,不标识该列所属的文件名称
-H 在显示符合范本样式的那一列之前,标识该列的文件名称
-i 忽略字符大小写的差别
-I 列出文件内容符合指定的范本样式的的文件名称
-L 列出文件内容不符合指定的范本样式的文件名称
-n 在显示符合范本样式的那一列之前,标识出该列的编号
-q 不显示任何信息
-R、/-r 此参数的效果和指定“-d recurse”参数相同
-s 不显示错误信息
-v 反转查找
-w 只显示全字符合的列
-x 只显示全列符合的列
-y 此参数效果跟“-i”相同
-o 只输出文件中匹配到的部分
那么不妨想想我们在日常工作中用gerp最多的地方是哪一块?
对了,筛选日志。
又或者与其他命令进行组合筛选。
常用参数及方法
查询某个日志文件中是否包含某个参数
cat xxx.log | grep '参数'
或者
grep “参数” xxx.log
在多个文件中进行查找
grep "参数" xxx1.log xxx2.log ....
输出除当前筛选参数之外所有的行 -v参数
grep -v "参数" xxx.log
使用正则表达式 -E
grep -E "正则表达式"
搜索多个文件并查找普配文本在哪些文件中
grep -l "text" file1 file2 file3...
递归搜索
grep "text" . -r -n # .表示当前目录
忽略字符大小写
grep -i "xxx"
匹配文本前后的行
#匹配文本之后的行 grep "参数" -A 3 #匹配文本之前的行 grep "参数" -B 3 #匹配文本前后3行 greo "参数" -C 3
作者:紫陌花间客
欢迎任何形式的转载,但请务必注明出处。
限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】