linux grep 查找命令
📅 2026/7/29 18:10:25
👁️ 次浏览
grep(Global Regular Expression Print) 是 Linux/Unix 系统中最强大的文本搜索工具。它的核心功能是在一个或多个文件中搜索包含指定模式字符串或正则表达式的行并将匹配的行打印出来。它是系统管理员、开发者和数据分析师的“瑞士军刀”常与find、xargs、awk等命令组合使用。1. 基本语法grep [选项] 搜索模式 [文件...]搜索模式可以是普通字符串也可以是正则表达式。文件可以是一个文件、多个文件、通配符*.log或者省略默认从标准输入读取常用于管道。2. 核心常用选项选项含义示例-i忽略大小写(Ignore case)grep -i error log.txt(匹配 Error, ERROR, error)-v反向选择(Invert match)显示不匹配的行grep -v debug log.txt(排除含 debug 的行)-n显示行号(Line number)grep -n fail script.sh-c统计数量(Count)只输出匹配行数grep -c 404 access.log-l只显示文件名(Files with matches)不显示内容grep -l TODO *.py-L显示未包含匹配模式的文件名grep -L copyright *.md-r/-R递归搜索(Recursive)遍历目录及其子目录grep -r password /etc/-w全字匹配(Word)只匹配完整的单词grep -w root /etc/passwd(不匹配 proot)-A n显示匹配行及其后n 行 (After)grep -A 3 Exception app.log-B n显示匹配行及其前n 行 (Before)grep -B 2 Error app.log-C n显示匹配行及其前后各 n 行 (Context)grep -C 5 Crash system.log-E使用扩展正则表达式(Equivalent toegrep)grep -E err-F固定字符串匹配 (Fixed string)关闭正则特性速度最快grep -F *.txt file(查找字面量 *.txt)-o只输出匹配的部分而不是整行grep -o [0-9]\ log.txt(只提取数字)--color高亮显示匹配部分 (通常默认开启)grep --colorauto key file3. 正则表达式基础 (Regular Expressions)grep支持两种正则语法基础正则 (BRE)默认模式。特殊字符需转义如\,\?,\|。扩展正则 (ERE)使用-E选项。特殊字符无需转义语法更直观推荐。常用元字符 (配合-E使用)符号含义示例 (grep -E)匹配结果.匹配任意单个字符gr.pgrip, group, gr8p*匹配前一个字符 0 次或多次ab*cac, abc, abbc匹配前一个字符 1 次或多次abcabc, abbc (不匹配 ac)?匹配前一个字符 0 次或 1 次colou?rcolor, colour^匹配行首^Error以 Error 开头的行$匹配行尾end$以 end 结尾的行[]匹配括号内任意一个字符[0-9]或[aeiou]任意数字 或 任意元音[^]匹配非括号内的字符[^0-9]非数字字符或(逻辑 OR)error()分组(abc)abc, abcabc示例# 查找以 ERROR 开头且以数字结尾的行 grep -E ^ERROR.*[0-9]$ app.log # 查找包含 IP 地址格式的行 (简单版) grep -E [0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3} access.log4. 实战场景组合拳 场景 1在多个文件中递归搜索代码查找当前目录下所有.py文件中包含import os的行并显示文件名和行号。grep -rn import os --include*.py .-r: 递归;-n: 行号;--include: 限定文件类型。 场景 2查看日志上下文当程序报错时不仅要看报错行还要看报错前 5 行和后 5 行的上下文以便定位原因。grep -C 5 Segmentation fault application.log 场景 3统计特定状态码的数量统计 Nginx/Apache 日志中 404 错误的数量。grep -c 404 access.log 场景 4提取特定字段 (配合-o)从日志中提取所有的邮箱地址。grep -oE [a-zA-Z0-9._%-][a-zA-Z0-9.-]\.[a-zA-Z]{2,} mail_log.txt 场景 5管道组合 (Pipe)结合ps和grep查找进程注意避免 grep 到自身# 方法 A: 使用 -v 排除 grep 进程 ps aux | grep nginx | grep -v grep # 方法 B: 技巧性写法 (匹配 n[g]inx) ps aux | grep [n]ginx 场景 6与 find 和 xargs 联动在所有.conf配置文件中查找包含 ssl 的行find /etc -name *.conf -type f -exec grep -l ssl {} \; # 或者 find /etc -name *.conf -type f | xargs grep -l ssl5. 性能优化与注意事项固定字符串加速 (-F)如果你只是搜索普通字符串不含正则符号加上-F选项速度会快很多因为它关闭了正则引擎# 快速搜索大量日志中的固定错误码 grep -F Connection reset by peer huge_log.txt二进制文件警告如果在二进制文件如可执行程序中搜索grep可能会输出Binary file ... matches。使用-a(text) 强制将二进制当作文本处理bashgrep -a secret_key binary_file大文件搜索对于巨大的日志文件grep依然非常高效但配合--line-buffered可以在管道实时处理时减少延迟。颜色配置如果grep没有自动高亮可以在~/.bashrc中添加别名alias grepgrep --colorauto总结简单查找grep keyword file忽略大小写/显示行号grep -in keyword file递归查找代码grep -rn pattern .复杂模式grep -E pattern1|pattern2只看匹配内容grep -o pattern纯文本极速搜grep -F string掌握grep是熟练使用 Linux 命令行进行文本处理和故障排查的基石
前言
Form Kit(卡片服务)是 HarmonyOS 的桌面卡片能力。在「猫猫大作战」中,Form Kit 用于在桌面上展示今日高分和签到状态。
一、卡片配置
// form_config.json
{"forms": [{"name": "ScoreWidget","…
📅 2026/7/29 18:10:25
1. 项目概述:为什么ST语言值得你投入时间学习?如果你在工业自动化领域摸爬滚打,尤其是和日系PLC打交道,那么“GX Works2”和“ST语言”这两个词对你来说一定不陌生。我最初接触ST语言时,也经历过从梯形图的“图形化思维…
📅 2026/7/29 18:10:25
docker 搭建alpine下nginx1.26/mysql8.0/php7.4环境
docker-compose.yml
services:mysql-8.0:container_name: mysql-8.0image: mysql:8.0restart: always#ports:#- "3306:3306"volumes:- ./etc/mysql/conf.d/mysql.cnf:/etc/mysql/conf.d/mysql.cnf:ro- ./var/log…
📅 2026/7/29 18:10:25
MicMute终极指南:一键静音麦克风的Windows效率神器 【免费下载链接】MicMute Mute default mic clicking tray icon or shortcut 项目地址: https://gitcode.com/gh_mirrors/mi/MicMute
还在为视频会议中找不到静音按钮而手忙脚乱吗?或者在游戏直…
📅 2026/7/29 19:03:53
如何用MAA彻底解放你的明日方舟游戏时间:新手到高手的完整实战指南 【免费下载链接】MaaAssistantArknights 《明日方舟》小助手,全日常一键长草!| A one-click tool for the daily tasks of Arknights, supporting all clients. 项目地址:…
📅 2026/7/29 19:03:53
水务密评三级达标合规解读:自来水厂等保与密评的区别与关键点2025年,南方某省会自来水公司在密评自查中发现一个典型误区:该公司的SCADA系统在2023年已经通过了等保三级测评,团队认为"等保都过了,密评应该也没问题…
📅 2026/7/29 19:03:53
Dify 自托管部署指南
Dify 是一个开源的 LLM 应用开发平台,提供直观的界面和强大的 API,帮助开发者快速构建、部署和管理基于大语言模型的应用。 一、功能特性
对话应用:创建聊天机器人、客服系统等对话式应用工作流:可视化编排…
📅 2026/7/29 19:03:53
BilibiliDown终极指南:简单三步搞定B站视频下载与音频提取 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader 😳 项目地址: https://gitcode.com/gh_mirro…
📅 2026/7/29 19:03:53
说实话,刚接触geo2那会儿,我也被网上那些乱七八糟的教程忽悠得团团转。很多人问geo2跟什么相似,其实最像的绝对不是那些高大上的企业级ERP,也不是什么复杂的低代码平台。如果你抱着“我要做个像钉钉那样牛逼的系统”去学geo2,那趁早放弃,因为你会失望透顶。我有个朋友叫大…
📅 2026/7/29 19:02:33
解密Seq的核心功能:如何利用Pipeline实现高效基因组数据处理 【免费下载链接】seq A high-performance, Pythonic language for bioinformatics 项目地址: https://gitcode.com/gh_mirrors/se/seq
Seq作为一款高性能的生物信息学专用语言,其Pipel…
📅 2026/7/29 0:00:00
Flask-Blogging插件开发指南:打造属于你的个性化博客功能 【免费下载链接】Flask-Blogging A Markdown Based Python Blog Engine as a Flask Extension. 项目地址: https://gitcode.com/gh_mirrors/fl/Flask-Blogging
Flask-Blogging是一个基于Markdown的Py…
📅 2026/7/29 0:00:00
近日,国际专注开放式技术研发的声学品牌Nank南卡,正式官宣实力艺人曾舜晞担任品牌代言人。消息一经发出便轰动全网。为什么耳机品牌不选择流量明星、老牌歌手?而且是选择曾舜晞?让我们一起来探索一下!比起短期的流量&a…
📅 2026/7/29 0:01:00
更多请点击:
https://codechina.net
第一章:AI帮助理解数学概念 人工智能正以前所未有的方式重塑数学学习的路径。通过自然语言处理与符号计算的深度融合,AI不仅能解析抽象定义,还能将定理、证明和几何直觉转化为可交互、可验证的…
📅 2026/7/29 1:14:44
1. 项目背景与核心价值去年参与的一个短剧项目让我深刻体会到传统创作流程的痛点:编剧团队花了三周打磨剧本,角色设计反复修改了七版,最后成片时又因为演员档期问题不得不临时调整分镜。这种低效的创作模式在快节奏的内容行业越来越难以为继。…
📅 2026/7/29 1:14:44
remix-i18next TypeScript类型安全实践:确保翻译键与类型定义同步 【免费下载链接】remix-i18next The easiest way to translate your React Router framework mode apps 项目地址: https://gitcode.com/gh_mirrors/re/remix-i18next
在开发多语言应用时&am…
📅 2026/7/29 1:14:46
目录
第一步:选对模板,省心一半
第二步:打开扫码点餐功能
开启功能按钮
桌台管理与桌码生成
第三步:个性化设计,打造品牌感
调整点餐页面
设置点餐规则 你还在让顾客站着排队点餐吗?2025年ÿ…
📅 2026/7/29 7:15:11
在业务中快速构建一个能理解私有文档、准确回答专业问题的智能助手,是很多开发团队面临的共同挑战。传统方案往往需要从零开始搭建复杂的 RAG(检索增强生成)系统,涉及文档解析、向量化、检索、大模型调用等多个环节,整…
📅 2026/7/29 17:15:46
FAE放射组学分析工具:医学影像特征探索的完整解决方案 【免费下载链接】FAE FeAture Explorer 项目地址: https://gitcode.com/gh_mirrors/fae/FAE
你是否曾经面对海量医学影像数据感到无从下手?想要从CT、MRI等影像中提取有价值的定量特征&#…
📅 2026/7/29 5:15:05