Linux 极速文本搜索:fgrep 命令详解 —— 纯字符串匹配神器
一、命令简介fgrep 命令用于在文件中搜索固定的文字字符串而非正则表达式模式。它是 grep 家族的一员其功能等同于 grep -F。该命令针对纯字符串搜索进行了优化速度较快特别适合在大量文件中搜索确切的、无需模式匹配的文本。二、语法格式plaintextfgrep [选项] PATTERN [FILE...] fgrep [选项] -f PATTERN_FILE [FILE...]格式说明PATTERN要搜索的固定字符串。FILE...一个或多个要搜索的目标文件。如果未指定文件或文件名为 -则从标准输入读取数据。-f PATTERN_FILE从指定的 PATTERN_FILE 文件中读取要搜索的模式字符串每行一个模式。三、常用选项及说明表格选项说明-i, --ignore-case忽略模式与输入数据中的大小写差异。-v, --invert-match反转匹配只显示不包含模式的行。-c, --count仅显示匹配行的计数而非行内容。-l, --files-with-matches仅列出包含匹配项的文件名每个文件只列出一次。-L, --files-without-match仅列出不包含匹配项的文件名。-n, --line-number在输出的每行前加上其在文件中的行号。-h, --no-filename当搜索多个文件时禁止在输出行前显示文件名。-H, --with-filename总是显示文件名默认在搜索多个文件时如此。-w, --word-regexp强制模式仅匹配完整的单词单词边界由非字母数字字符界定。-x, --line-regexp强制模式匹配整行。-e PATTERN指定要搜索的模式。主要用于当模式以 - 开头时避免被解释为选项。-f FILE, --fileFILE从指定文件中读取要搜索的模式列表。-q, --quiet, --silent静默模式。不输出任何内容仅通过退出状态码表示结果。-s, --no-messages抑制关于文件不存在或不可读的错误信息。--color[WHEN]高亮显示匹配的文本。WHEN 可以是 always、never 或 auto。-A NUM, --after-contextNUM显示匹配行及其后 NUM 行的内容。-B NUM, --before-contextNUM显示匹配行及其前 NUM 行的内容。-C NUM, --contextNUM显示匹配行及其前后各 NUM 行的内容。退出状态码0成功至少找到一个匹配项。1成功但未找到任何匹配项。2发生语法错误或文件无法访问。四、示例用法在当前目录所有 .c 文件中搜索字符串 strcpyplaintextfgrep strcpy *.c忽略大小写搜索并显示行号plaintextfgrep -i -n error logfile.txt统计多个文件中包含特定字符串的行数plaintextfgrep -c TODO project/*.py仅列出包含特定字符串的文件名plaintextfgrep -l GPL LICENSE*搜索以连字符 - 开头的字符串plaintextfgrep -e -v config.txt从文件 patterns.txt 中读取多个字符串进行搜索plaintextfgrep -f patterns.txt data.log显示匹配行及其后 2 行的上下文plaintextfgrep -A 2 fatal error server.log匹配完整的单词 theplaintextfgrep -w the document.txt在标准输入中搜索plaintextecho -e apple\nbanana\ncherry | fgrep banana五、注意事项固定字符串搜索fgrep 将模式中的字符如 ., *, [,], $, ^ 等视为普通字符而非正则表达式元字符。这是它与 grep 和 egrep 的核心区别。模式包含空格或特殊字符如果搜索模式包含空格、引号或对 Shell 有特殊意义的字符如 $, *, 等务必使用引号将其括起单引号 通常更安全。plaintextfgrep hello world file.txt fgrep $PATH script.sh性能对于简单的字符串搜索fgrep或 grep -F通常比使用正则表达式的 grep 更快。命令别名在许多现代 Linux 发行版中fgrep 和 egrep 可能是 grep 命令的符号链接或别名分别对应 grep -F 和 grep -E。使用 type fgrep 可以查看其具体定义。二进制文件默认情况下如果二进制文件中包含匹配项fgrep 会输出类似 Binary file filename matches 的信息。使用 -a 或 --text 选项可以强制将其作为文本文件处理。行长度限制历史版本的 fgrep 可能有输入行长度的限制如 2048 字节现代 GNU 实现通常无此硬性限制但在处理极长的行时性能可能下降。

相关新闻

深入解析ARM Cortex-M外设状态与软件复位寄存器:以TI TM4C123为例

深入解析ARM Cortex-M外设状态与软件复位寄存器:以TI TM4C123为例

1. 项目概述与核心价值 在嵌入式开发领域,尤其是基于ARM Cortex-M内核的微控制器项目里,我们常常会接触到厂商提供的庞大技术手册。手册里密密麻麻的寄存器描述,尤其是那些关于“外设存在状态”和“软件复位”的章节,初看之下可能…

2026/10/17 14:16:39 阅读更多 →
QT跨平台虚拟键盘开发实践与工业级优化

QT跨平台虚拟键盘开发实践与工业级优化

1. 项目背景与需求分析 在工业控制、医疗设备、车载系统等嵌入式领域,跨平台虚拟键盘是刚需。传统物理键盘存在空间占用大、防水防尘难等问题,而系统自带输入法往往无法满足定制化需求。QT框架的跨平台特性使其成为开发虚拟键盘的理想选择,但…

2026/10/16 9:09:06 阅读更多 →
原子esp32 ftp传数据到sd卡里

原子esp32 ftp传数据到sd卡里

ardunio环境 1.使用 xreef/MultiFTPServer^3.0.2 库 2.使用库里的ESP32_SD_WiFi.ino这个例程 3.修改FtpServerKey.h 第68行 #define DEFAULT_STORAGE_TYPE_ESP32 STORAGE_FFAT // 默认是FFAT(内置闪存) 如果不修改出现的问题是 能够显示已经连接上&…

2026/10/18 8:50:00 阅读更多 →

最新新闻

水文站点实时数据爬虫:Selenium+Requests混合方案实战

水文站点实时数据爬虫:Selenium+Requests混合方案实战

简介:本资源是一套面向Python初学者与数据爱好者设计的水文实时数据采集与可视化实践项目,聚焦网络爬虫与基础数据分析能力训练,适用于环境监测、水利信息化等场景的入门级技术验证。压缩包共9个文件,含3个核心Python脚本&#xf…

2026/10/18 23:09:18 阅读更多 →
PLaMo 2的MLX版本初体验:plamo-2-translate-bf16在Mac上免费本地运行8B英日翻译模型的完整概览指南

PLaMo 2的MLX版本初体验:plamo-2-translate-bf16在Mac上免费本地运行8B英日翻译模型的完整概览指南

【免费下载链接】plamo-2-translate-bf16 项目地址: https://ai.gitcode.com/hf_mirrors/mlx-community/plamo-2-translate-bf16 点击查看 免费下载 本文带你完整了解 plamo-2-translate-bf16:由 mlx-community 制作的 PLaMo 2 8B 英日翻译模型 MLX 版本…

2026/10/18 23:09:18 阅读更多 →
Windows 64位下CUDA 11.4与cuDNN v8.2.2.26运行库配置指南

Windows 64位下CUDA 11.4与cuDNN v8.2.2.26运行库配置指南

简介:这是一份面向 Windows 深度学习开发者的 CUDA 11.4 配套组件包,提供 NVIDIA cuDNN v8.2.2.26 的完整 x64 运行库与头文件,专为搭配 CUDA Toolkit 11.4 使用,适合需要配置 TensorFlow、PyTorch 等框架 GPU 加速环境的开发者。…

2026/10/18 23:09:18 阅读更多 →
深入理解 Claude Code 源码:终端 Agent 的工程解剖与实现

深入理解 Claude Code 源码:终端 Agent 的工程解剖与实现

简介:《深入理解Claude Code源码》面向希望深入终端AI Agent内部实现的技术人员,系统剖析Anthropic命令行编程助手的架构设计、工程实践与编程哲学。全书25章加2个附录,覆盖查询引擎、工具系统、Agent编排、六层权限模型、MCP协议、状态管理与…

2026/10/18 23:09:18 阅读更多 →
提示工程架构师:从提示词设计到稳定落地的完整指南

提示工程架构师:从提示词设计到稳定落地的完整指南

1. 提示工程架构师到底在做什么——角色拆解与价值锚点1.1 从一个不起眼的输入框说起大概在两三年前,我很难想象"提示工程架构师"会成为一个正经职业头衔。当时身边人听说我在研究"怎么跟AI说话",第一反应都是:那不就是写…

2026/10/18 23:09:18 阅读更多 →
78B多模态大模型如何落地?InternVL2_5-78B-MPO多卡部署与省显存量化完整攻略

78B多模态大模型如何落地?InternVL2_5-78B-MPO多卡部署与省显存量化完整攻略

【免费下载链接】InternVL2_5-78B-MPO 项目地址: https://ai.gitcode.com/OpenGVLab/InternVL2_5-78B-MPO 点击查看 免费下载 InternVL2_5-78B-MPO 是一款基于 ViT-MLP-LLM 架构的开源多模态大模型,融合了 6B 视觉编码器 InternViT 与 72B 语言模型 Qwe…

2026/10/18 23:08:17 阅读更多 →

日新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 0:55:02 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:16:16 阅读更多 →