网站首页
手机版

效率翻倍!12个Linux grep命令的超级用法实例总结

更新时间:作者:小小条

作为Linux系统的核心搜索工具,grep的强大远超你的想象。掌握这些技巧,处理日志、代码和数据的效率将大幅提升!

效率翻倍!12个Linux grep命令的超级用法实例总结

1. 基础搜索(精准定位)

# 搜索包含"error"的行grep "error" /var/log/syslog# 区分大小写搜索grep -i "Error" app.log

2. 反向搜索(排除干扰)

# 显示不包含"debug"的所有行grep -v "debug" app.log# 同时排除多个关键词grep -v -e "debug" -e "test" logfile

3. 上下文显示(分析前后内容)

# 显示匹配行及其前后2行grep -C 2 "panic" system.log# 只显示匹配后的3行grep -A 3 "Exception" app.log# 只显示匹配前的2行grep -B 2 "segmentation fault" error.log

4. 正则表达式搜索(模式匹配)

# 匹配IP地址grep -E "\b([0-9]{1,3}\.){3}[0-9]{1,3}\b" access.log# 查找空行grep "^#34; file.txt# 查找以#开头的注释行grep "^#" config.conf

5. 递归搜索(多文件处理)

# 在当前目录递归搜索grep -r "function_name" .# 递归搜索并显示文件名和行号grep -rn "TODO" src/# 忽略二进制文件grep -rI "search_term" /path/

6. 统计匹配次数(数据分析)

# 统计匹配行数grep -c "404" access.log# 统计总匹配次数(可能一行多次匹配)grep -o "error" app.log | wc -l# 统计每个文件的匹配数grep -rc "warning" log_dir/

7. 只显示匹配部分(提取数据)

# 只显示匹配的文本,不显示整行grep -o "[0-9]\{11\}" data.txt # 提取11位数字# 提取HTML标签内容grep -o '<title>[^<]*</title>' index.html

8. 多条件搜索(逻辑组合)

# 同时匹配多个模式(AND逻辑)grep "error" file.log | grep "critical"# 匹配多个模式之一(OR逻辑)grep -E "error|warning|critical" system.log# 使用-e参数指定多个模式grep -e "error" -e "fail" -e "panic" logs/

9. 颜色高亮与行号(增强可读性)

# 默认高亮匹配内容grep --color=auto "keyword" file.txt# 显示行号grep -n "pattern" data.txt# 同时显示行号和高亮grep -n --color=always "ERROR" app.log

10. 文件筛选搜索(智能过滤)

# 搜索特定扩展名的文件grep -r "function" --include="*.py"# 排除特定目录grep -r "config" --exclude-dir=".git"# 搜索多种类型的文件grep -r "TODO" --include="*.{js,ts,jsx,tsx}" src/

11. 管道组合(高级用法)

# 查找进程并杀死ps aux | grep "node" | grep -v "grep" | awk '{print $2}' | xargs kill -9# 查找大文件中的最近错误tail -n 1000 huge.log | grep -A 5 "ERROR"# 统计访问量最高的IPgrep -oE "\b([0-9]{1,3}\.){3}[0-9]{1,3}\b" access.log | sort | uniq -c | sort -nr

12. 性能优化技巧(处理大文件)

# 快速匹配(固定字符串)grep -F "固定文本" huge_file.txt# 限制搜索深度grep -r --max-depth=2 "config" /# 并行搜索(需要parallel工具)find . -name "*.log" | parallel grep "error" {}

实战案例:分析Nginx日志

# 统计HTTP状态码分布grep -o '" [0-9]{3} ' access.log | sort | uniq -c# 提取请求时间超过1秒的请求grep "request_time: [1-9]\." nginx.log# 查找特定时段的请求grep "16/May/2023:14:" access.log

掌握这12个grep技巧,你将能快速定位问题、分析数据、处理文本,真正成为Linux命令行高手。记住:熟练运用管道组合这些命令,能解决工作中95%的文本处理需求!

版权声明:本文转载于今日头条,版权归作者所有,如果侵权,请联系本站编辑删除

为您推荐

攻防演练:等保二级日志管理的“实战校准器”

一、验证日志采集完整性,消除覆盖盲区等保二级要求日志覆盖网络边界、重要节点及每个用户的关键行为,但许多企业仅依赖本地设备日志,存在采集盲区。攻防演练通过模拟多维度攻击

2026-01-13 08:55

星巴克日志系统升级:成本省三成,效率快两倍,运维难题巧妙化解

哈喽,大家好,小圆今天要跟大家聊个实打实的技术升级案例,星巴克中国日志平台的改造,硬是做到了降本30%、提效200%的惊人成绩,可能有人觉得日志平台就是存存数据、查查问题的“小

2026-01-13 08:55

翻译软件迎接小红书泼天“洋流量”:百度、有道、谷歌哪家强?

泼天的流量,流向了小红书? 因日前传言称Tik Tok将被马斯克收购,许多自称“Tik Tok难民”的海外网友一股脑涌入了国内社交平台小红书。在极短时间内,小红书就冲上了海外和国内App

2026-01-13 08:54

山东大学附属的高中为什么没名气

对于济南人,都听过山师附中,但好像没大听过山大附中,这是怎么回事呢? 山东大学附属的高中在名气上相对不那么响亮,确实和一些大家熟知的“超级中学”有差距。这背后有多重原因。

2026-01-13 08:54

邯郸教育 | 魏县第一中学到第十九中学

魏县第一中学在2025年的高考中大放异彩,29名学生考上清华大学、北京大学,魏县教育强势崛起,结合本文盘点一下魏县的第一中学至第十九中学。魏县第一中学魏县一中始建于1951年,系

2026-01-13 08:53

邯郸教育 | 永年区第一中学到第二十中学

邯郸市永年区是全市面积最大的区、也是全市人口最多的区,学校众多,本文盘点一下第一中学至第二十中学。如有错误之处,还望指正。邯郸市永年区第一中学始建于1956年,时为永年县临

2026-01-13 08:53