当前位置: 首页 > article >正文

Linux grep 命令的使用指南

Linux grep 命令全面使用指南一、基础搜索语法1. 基本文本搜索1234# 在文件中搜索指定字符串grepsearch_patternfile.txt# 示例搜索包含error的行greperror/var/log/syslog2. 多文件搜索1234# 在多个文件中搜索greppatternfile1.txt file2.txt# 使用通配符搜索greperror*.log二、常用选项详解1. 输出控制选项选项功能示例-i忽略大小写grep -i Error file.txt-v反向匹配grep -v success file.txt-c统计匹配行数grep -c pattern file.txt-n显示行号grep -n pattern file.txt-l只显示文件名grep -l pattern *.txt-L显示不匹配的文件名grep -L pattern *.txt-o只显示匹配部分grep -o pattern file.txt2. 上下文控制选项选项功能示例-A num显示匹配行后num行grep -A 3 error log.txt-B num显示匹配行前num行grep -B 2 warning log.txt-C num显示匹配行前后num行grep -C 2 critical log.txt三、正则表达式搜索1. 基本正则表达式123456# 使用基本正则表达式greperror.*failedfile.txt# 锚定行首grep^startfile.txt# 锚定行尾grepend$file.txt2. 扩展正则表达式-E123456# 使用扩展正则表达式grep-Eerror|warningfile.txt# 匹配数字grep-E[0-9]{3}-[0-9]{4}phone.txt# 匹配IP地址grep-E\b([0-9]{1,3}\.){3}[0-9]{1,3}\blog.txt3. Perl兼容正则表达式-P1234# 使用PCRE更强大的正则grep-P\d{3}-\d{4}file.txt# 匹配中文grep-P[\x{4e00}-\x{9fa5}]file.txt四、文件与目录搜索1. 递归搜索目录1234# 递归搜索目录grep-rpattern/path/to/directory# 包含文件类型过滤grep-r --include*.logerror/var/log2. 排除特定文件/目录123456# 排除特定文件类型grep-r --exclude*.tmppattern.# 排除目录grep-r --exclude-dir.gitTODO.# 多个排除条件grep-r --exclude-dir{node_modules,.git} --exclude*.min.jsfunction.五、高级搜索技巧1. 管道组合搜索1234# 结合find命令find. -name*.log-execgrep-Herror{} \;# 多级过滤cataccess.log |grepGET|grep404|cut-d -f72. 二进制文件搜索1234# 搜索二进制文件grep-atextbinaryfile.bin# 搜索压缩文件zgreperror/var/log/syslog.1.gz3. 颜色高亮显示1234# 启用颜色高亮grep--colorautopatternfile.txt# 永久启用添加到.bashrcaliasgrepgrep --colorauto六、性能优化技巧1. 加速搜索方法123456# 使用固定字符串搜索禁用正则grep-Ffixed_stringlargefile.txt# 限制匹配次数grep-m 100patternlargefile.txt# 并行搜索find. -typef -print0 |xargs-0 -P 4greppattern2. 大文件处理策略12345678# 分块处理大文件split-l 1000000 largefile.txt chunk_forfileinchunk_*;dogreppattern$file results.txtdone# 使用更高效工具rgpatternlargefile.txt# ripgrepagpattern# silver searcher七、实用场景示例1. 日志分析1234# 查找最近1小时的错误日志grepERROR/var/log/app.log |grep$(date -d 1 hour ago %Y-%m-%d %H)# 统计不同错误类型grep-oEERROR [A-Z_]app.log |sort|uniq-c |sort-nr2. 代码审查1234# 查找TODO注释grep-r --include*.pyTODOsrc/# 查找未使用的导入grep-rimportsrc/ |grep-vfrom\|as3. 系统管理1234# 检查开放端口netstat-tuln |grep-E:(80|443)\s# 查找内存使用高的进程psaux |grep-E\b[0-9]{2,}%\b八、常见问题解决1. 特殊字符处理1234567# 搜索包含点号的内容grep-F.file.txt# 固定字符串方式grep\.file.txt# 转义方式# 搜索包含斜杠的内容grep/pathfile.txt# 不需要转义# 搜索包含美元符号的内容grep\$file.txt# 需要转义2. 多行匹配处理1234# 使用pcregrep进行多行匹配pcregrep -Mstart.*\n.*endfile.txt# 使用awk替代awk/start/{flag1} flag; /end/{flag0}file.txt九、替代工具推荐1. 更高效搜索工具工具特点安装ripgrep (rg)极速搜索sudo apt install ripgrepag (silver searcher)代码搜索优化sudo apt install silversearcher-agackPerl开发者友好sudo apt install ack2. 可视化工具1234# 使用grep less高亮grep--coloralwayspatternfile.txt |less-R# 使用bat替代catbatfile.txt |greppattern十、最佳实践总结1. 常用命令组合12345678# 基本搜索grep-ierror/var/log/syslog# 递归搜索grep-r --include*.logcritical/var/log# 上下文显示grep-C 3exceptionapp.log# 正则搜索grep-E50[0-9] Erroraccess.log2. 性能优化建议优先使用固定字符串grep -F比正则快限制搜索范围使用--include/--exclude大文件分块处理使用split命令并行处理结合xargs -P3. 脚本编写技巧123456789101112#!/bin/bash# 安全搜索脚本pattern$1directory${2:-.}if[ -z$pattern];thenechoUsage: $0 pattern [directory]exit1figrep-r --coloralways \--exclude-dir{.git,node_modules,vendor} \--include*.{py,js,html,css}\$pattern$directory|less-R通过掌握这些 grep 技巧您可以高效处理各种文本搜索任务。对于大型项目或频繁搜索需求建议尝试 ripgrep 或 ag 等现代替代工具以获得更好性能。

相关文章:

Linux grep 命令的使用指南

Linux grep 命令全面使用指南一、基础搜索语法1. 基本文本搜索1234# 在文件中搜索指定字符串grep "search_pattern" file.txt# 示例:搜索包含"error"的行grep "error" /var/log/syslog2. 多文件搜索1234# 在多个文件中搜索grep "…...

Phi-3-mini-4k-instruct-gguf效果实测:单卡3090上并发3路问答的延迟与显存占用

Phi-3-mini-4k-instruct-gguf效果实测:单卡3090上并发3路问答的延迟与显存占用 1. 测试背景与模型介绍 Phi-3-mini-4k-instruct-gguf是微软Phi-3系列中的轻量级文本生成模型GGUF版本,专为问答、文本改写、摘要整理和简短创作等场景优化。作为一款开箱即…...

零基础掌握CheatEngine-DMA:游戏内存分析与修改全攻略

零基础掌握CheatEngine-DMA:游戏内存分析与修改全攻略 【免费下载链接】CheatEngine-DMA Cheat Engine Plugin for DMA users 项目地址: https://gitcode.com/gh_mirrors/ch/CheatEngine-DMA 传统内存修改遇到的3大痛点 当你尝试分析游戏内存或进行内存修改…...

【30】软考软件设计师——UML类图与用例图满分精讲|下午第3题常考核心

摘要:本文是《软件设计师50讲通关|从零基础到工程师职称》专栏第30篇,聚焦模块四:应用技术(下午题)第3道高频大题,UML建模是历年下午必考核心,单题分值稳定10~12分。全文深度拆解两大核心UML图表:类图与用例图,超详细讲解类图三层结构、可见性修饰符、五大核心关系(…...

如何通过4个步骤让百度网盘下载速度提升30倍?

如何通过4个步骤让百度网盘下载速度提升30倍? 【免费下载链接】baidu-wangpan-parse 获取百度网盘分享文件的下载地址 项目地址: https://gitcode.com/gh_mirrors/ba/baidu-wangpan-parse 还在为百度网盘几十KB的下载速度而焦虑吗?百度网盘直链解…...

新手友好:通过快马平台轻松复刻openclaw101.dev的入门级工具项目

作为一个刚接触编程的新手,想要学习开源项目确实会感到有些无从下手。最近我发现了一个叫openclaw101.dev的项目,看起来很有意思,但直接看源码有点吃力。好在朋友推荐了InsCode(快马)平台,让我能够轻松复刻类似的项目来学习。 项目…...

【29】软考软件设计师——SQL语句编写与优化深度精讲|数据库大题延伸满分攻略

摘要:本文是《软件设计师50讲通关|从零基础到工程师职称》专栏第29篇,承接第28篇ER图转关系模式核心内容,作为下午第2题数据库大题核心延伸必考模块,单模块累计占分5~8分,是数据库板块性价比极高的提分重点。全文超4000字深度拆解软考全部SQL高频考点:全覆盖多表连接底层…...

史上最快破 10 万 Star!Claude Code Python 重写版震撼上线!

文章目录 📖 介绍 📖 🏡 演示环境 🏡 📒 史上最快10万Star项目 📒 📝 事件始末 🔧 项目架构 🗂️ 目录结构 ⭐ Rust工作区模块 🚀 快速开始 📦 Python版 🦀 Rust版 💡 核心特色 🎯 清洁室重写 🔄 AI辅助开发 📊 Rust性能优化 🌟 项目影响力 …...

实战应用:基于快马平台开发类似ahflt.sys的文件操作监控工具

实战应用:基于快马平台开发类似ahflt.sys的文件操作监控工具 最近在研究Windows内核驱动开发时,发现ahflt.sys这类文件系统过滤驱动特别有意思。它能够在系统底层监控文件操作,实现各种高级功能。作为一个开发者,我决定在InsCode…...

ai赋能硬件仿真:让快马平台理解你的设计意图,自动生成proteus项目

最近在做一个智能光控系统的硬件仿真项目,发现用AI辅助开发可以大幅提升效率。这里分享一下如何利用InsCode(快马)平台的AI能力,快速生成Proteus仿真项目的过程。 项目需求分析 首先需要明确系统功能:通过光敏电阻检测环境亮度,结…...

效率提升秘籍,用快马平台生成模块化openclaw配置代码

在深度学习项目中,模型配置往往是开发过程中最耗时的环节之一。最近我在尝试构建一个openclaw模型时,发现通过InsCode(快马)平台可以大幅提升效率,今天就分享一下我的实践心得。 模块化设计思路 传统模型开发中,我们经常需要反复编…...

Spring Boot 远程调试终于来了!IntelliJ IDEA 新版支持「无 Agent」远程调试

推荐阅读 IDEA 官宣全新AI CLI:Gemini大模型免费用! IDEA 2026.1 EAP 4 发布:新特性太丝滑了! IDEA 官宣:终于可以爽用Cursor了! IDEA 这个骚操作,连 VS Code 都跟不上! IDEA 这个测试接口的好工具,效率 提升 10x 这些 IDEA 技巧没用上,你可能少了一大半摸…...

OmenSuperHub深度解析:惠普游戏本硬件控制的纯净解决方案

OmenSuperHub深度解析:惠普游戏本硬件控制的纯净解决方案 【免费下载链接】OmenSuperHub 使用 WMI BIOS控制性能和风扇速度,自动解除DB功耗限制。 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub 对于追求极致性能与系统纯净度的惠普…...

美胸-年美-造相Z-Turbo创意工坊:支持批量生成、种子固定、参数网格搜索功能

美胸-年美-造相Z-Turbo创意工坊:支持批量生成、种子固定、参数网格搜索功能 如果你正在寻找一个能稳定、高效生成特定风格图片的AI工具,特别是对“美胸-年美”这类风格有需求,那么你找对地方了。今天要介绍的这个工具,不仅部署简…...

RocketMQ的“三高”架构设计

RocketMQ的“三高”架构设计,主要围绕高可用、高吞吐、高扩展三个维度展开,分别解决服务不中断、性能不瓶颈、规模不设限的核心问题。1 高可用(High Availability)高可用的目标是确保部分组件故障时,消息服务依然可用&…...

如何用5个步骤构建企业级智能SQL工具?自然语言转SQL全攻略

如何用5个步骤构建企业级智能SQL工具?自然语言转SQL全攻略 【免费下载链接】sqlcoder SoTA LLM for converting natural language questions to SQL queries 项目地址: https://gitcode.com/gh_mirrors/sq/sqlcoder 在数据驱动决策的时代,自然语言…...

WeChatMsg终极指南:如何永久保存你的微信聊天记忆

WeChatMsg终极指南:如何永久保存你的微信聊天记忆 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/WeChatMsg…...

GHelper工具:解决华硕笔记本性能控制难题的轻量化方案

GHelper工具:解决华硕笔记本性能控制难题的轻量化方案 【免费下载链接】g-helper Lightweight, open-source control tool for ASUS laptops and ROG Ally. Manage performance modes, fans, GPU, battery, and RGB lighting across Zephyrus, Flow, TUF, Strix, Sc…...

lychee-rerank-mm环境部署:NVIDIA驱动470+、CUDA 12.x兼容性验证清单

lychee-rerank-mm环境部署:NVIDIA驱动470、CUDA 12.x兼容性验证清单 1. 项目概述与核心价值 lychee-rerank-mm是一个专为RTX 4090显卡优化的多模态重排序系统,基于Qwen2.5-VL架构和Lychee-rerank-mm模型构建。这个系统能够对批量图片与文本描述进行智能…...

Cursor Pro功能解锁技术解析与实战方案

Cursor Pro功能解锁技术解析与实战方案 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Youve reached your trial request limit. / Too m…...

SRWE:打破Windows窗口限制的智能编辑器

SRWE:打破Windows窗口限制的智能编辑器 【免费下载链接】SRWE Simple Runtime Window Editor 项目地址: https://gitcode.com/gh_mirrors/sr/SRWE SRWE(Simple Runtime Window Editor)是一款专为Windows系统设计的实时窗口编辑工具&am…...

Phi-4-mini-reasoning效果展示:高精度数学题求解与逻辑推导实测

Phi-4-mini-reasoning效果展示:高精度数学题求解与逻辑推导实测 1. 模型核心能力概览 Phi-4-mini-reasoning是一款专注于推理任务的文本生成模型,在数学解题和逻辑分析方面展现出惊人的能力。与通用聊天模型不同,它专为多步推理和精确结论而…...

无源光网络-PON

一、无源光网络-PON简介1.1 无源光网络定义无源光网络(PON) 是一种点到多点的光纤接入技术,全程采用无源光器件(光分路器、光纤、光接头等,无电源、无电子电路)实现信号传输。1.2 核心要点1.2.1 特点无源&a…...

如何快速掌握Outfit字体:5个简单技巧打造专业级设计

如何快速掌握Outfit字体:5个简单技巧打造专业级设计 【免费下载链接】Outfit-Fonts The most on-brand typeface 项目地址: https://gitcode.com/gh_mirrors/ou/Outfit-Fonts Outfit字体是一款专业的开源无衬线字体,提供从Thin到Black的9种完整字…...

UABEA:解锁Unity资源编辑新维度的跨平台工具箱

UABEA:解锁Unity资源编辑新维度的跨平台工具箱 【免费下载链接】UABEA c# uabe for newer versions of unity 项目地址: https://gitcode.com/gh_mirrors/ua/UABEA 你是否曾想过深入Unity游戏内部,查看、编辑甚至重构其中的纹理、音频、字体等各类…...

三步掌握创意编程:p5.js Web Editor零门槛入门指南

三步掌握创意编程:p5.js Web Editor零门槛入门指南 【免费下载链接】p5.js-web-editor The p5.js Editor is a website for creating p5.js sketches, with a focus on making coding accessible and inclusive for artists, designers, educators, beginners, and …...

LeetCode //C - 1002. Find Common Characters

1002. Find Common Characters Given a string array words, return an array of all characters that show up in all strings within the words (including duplicates). You may return the answer in any order. Example 1: Input: words [“bella”,“label”,“roll…...

快马AI助力:十分钟用开yun技术栈搭建微服务电商原型

最近尝试用开yun技术栈快速搭建微服务电商原型,发现结合InsCode(快马)平台的AI辅助功能,整个过程比想象中顺畅很多。记录下这个十分钟搭建原型的实践过程,特别适合需要快速验证想法的场景。 技术选型思路 开yun技术栈作为云原生领域的热门选…...

新手零障碍入门:用快马ai生成即开即用的python学习环境

最近在教朋友学Python,发现新手最头疼的不是语法本身,而是配置开发环境。特别是用PyCharm时,光是解释器设置就能劝退一大半人。刚好发现InsCode(快马)平台能一键生成开箱即用的Python学习项目,试了试简直拯救了教学现场。 为什么环…...

“AI 辅助数据库优化 - 从慢查询分析到索引自动推荐“

AI 辅助数据库优化 - 从慢查询分析到索引自动推荐 问题场景 数据库优化的常见挑战: 慢查询排查依赖 DBA 经验,门槛高索引创建盲目,有时反而降低性能SQL 改写凭感觉,缺乏系统方法执行计划看不懂,不知道优化方向性能问题…...