Linux文本搜索工具grep命令使用

news/2025/10/12 13:41:11/文章来源:https://www.cnblogs.com/theissky/p/19136558

grep 是一个强大的文本搜索工具,广泛用于Unix和类Unix系统中,用于搜索包含指定模式的文本行。它由Ken Thompson编写,作为UNIX操作系统的一部分。其名称来源于ed命令 g/re/p(全局正则表达式打印)。以下是对 grep 命令使用方法的详细指南。

基础使用

  • 基本搜索:要在文件中查找特定文本字符串,请使用:

    grep "search_string" filename
  • 忽略大小写:要在搜索时忽略大小写差异,请添加 -i 参数:

    grep -i "search_string" filename
  • 计数匹配行数:如果只需要知道有多少行匹配了模式,可以添加 -c 参数:

    grep -c "search_string" filename

正则表达式

  • 使用正则表达式:可以利用 -E(或 egrep) 使用扩展正则表达式进行更复杂的匹配。

输出控制

  • 显示非匹配行: 使用 -v, 可以反转查找,显示不包含模式的所有行。

文件和目录操作

  • 递归搜索: 要在当前目录及其所有子目录中递归地查找文件内容,请添加 -r(或者是 --recursive)参数。

上下文控制:

  • 显示上下几个非匹配线: 可以通过参数 -B(before), -A(after), 和-C (context) 来实现这一点。
grep -C2 "pattern" file # 显示每个match前后两线内容.

高级选项

输出修改

对输出进行格式化或者高亮等等, 比如 --color=auto, 这样会高亮显示你所搜寻到得字符串.

排除选项

排除特定文件或者目录, 比如 --exclude 或 --exclude-dir.

链接多个条件:

你可以通过 |, 或者是 egrep 来链接多个条件.

egrep 'pattern1|pattern2' file # 查找符合 pattern1 或 pattern2 的线.

文件类型限制:

如果只想搜寻特定类型得文件, 可以利用--include 参数来实现这一点.

grep 'main()' *.c --include *.h # 在所有.c 和 .h 文件里面搜寻 main() 函数调用.

行号输出:

加上-n 参数会让每一个match前面都带有相应得 line number.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/935391.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一款基于 .NET 开源免费、高效且用户友好文件搜索工具!

前言 无论是工作中的项目文档,还是学习中的研究资料,高效地管理和搜索这些文件成为了我们提升工作效率的关键。今天大姚给大家分享一款基于 .NET 开源免费(MIT license)、高效且用户友好的文件搜索工具,旨在帮助您…

2025上海保洁公司最新权威推荐榜:专业服务与用户口碑深度解

2025上海保洁公司最新权威推荐榜:专业服务与用户口碑深度解析在现代化都市运营体系中,专业保洁服务已成为企业高效运转和品质形象维护的重要保障。上海作为国际化大都市,保洁服务市场需求持续增长,服务品质参差不齐…

心得体会

不要美化你未走过的路

DedeCMS命令执行复现研究 | CVE-2025-6335 - 指南

DedeCMS命令执行复现&研究 | CVE-2025-6335 - 指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas&q…

2025视频拍摄厂家最新权威推荐榜:专业设备与创意方案首选

2025视频拍摄厂家最新权威推荐榜:专业设备与创意方案首选在数字化浪潮席卷各行各业的今天,视频内容已成为企业宣传、产品推广、品牌塑造的重要载体。随着5G技术的普及和人工智能的发展,视频拍摄行业正迎来前所未有的…

算法训练.16 - 实践

算法训练.16 - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "C…

Java连接MySQL数据库

环境准备安装Java开发工具包 (JDK) : 确保你的系统已安装JDK,并配置了环境变量,以便能够在命令行中运行 java和 javac命令。 安装MySQL数据库: 在你的系统上安装MySQL服务器,并确保它正在运行。创建一个数据库以及一…

Git版本控制工具合并分支merge命令操作流程

在Git中合并分支是一个常见的操作,它允许你将一个分支的更改合并到另一个分支中。以下是使用 merge命令进行分支合并的详细步骤和最佳实践。 准备工作 在开始之前,确保你已经安装了Git,并且有一个本地仓库。此外,确…

第七章 手写数字识别(终)

将前文的代码解耦为三个部分:定义的类和函数的nn_core.py 模型训练和测试集验证并保存最优模型的main_train.py 验收 (自定义图片预测)的脚本predict.py至此,手写数字识别的NLP任务完全结束,至于更多的优化目前我不…

2025年AI内容安全产品选型指南:为何需要专业的AI安全围栏(AI-FOCUS团队鉴冰AI FENCE)?

2025年AI内容安全产品选型指南:为何需要专业的AI安全围栏(AI-FOCUS团队鉴冰AI FENCE)?随着企业大规模应用AI对话服务(如智能客服、知识库问答、营销机器人等),内容安全风险日益凸显。传统Web应用防火墙(WAF)主…

2025南通摄影公司最新权威推荐榜:专业团队与创意服务口碑之

2025南通摄影公司最新权威推荐榜:专业团队与创意服务口碑之选在数字媒体蓬勃发展的今天,专业摄影服务已成为企业品牌建设、产品推广不可或缺的重要环节。南通作为长三角地区的重要城市,摄影服务行业呈现出专业化、细…

在Kubernetes环境中引用变量的方法

在Kubernetes环境中,变量的引用主要通过环境变量和ConfigMaps来实现。这两种方式都可以让你在Pod的定义中引用变量,从而使你的应用更加灵活和可配置。 首先,我们来看看如何使用环境变量。Kubernetes允许你在Pod定义…

2025恒温恒湿车间厂家权威推荐:精密环境控制解决方案TOP

2025恒温恒湿车间厂家权威推荐:精密环境控制解决方案TOP在高端制造业快速发展的今天,精密加工车间对环境控制的要求日益严苛。恒温恒湿环境不仅能保障精密仪器设备的稳定运行,还能确保产品质量的一致性,减少因温湿…

2025预应力千斤顶厂家权威推荐榜:定制技术与耐用品质深度解

2025预应力千斤顶厂家权威推荐榜:定制技术与耐用品质深度解预应力千斤顶作为现代工程建设中不可或缺的核心设备,其技术性能与耐久品质直接关系到工程安全与施工效率。随着2025年建筑行业技术标准的不断提升,预应力张…

实用指南:用Spark+Django打造食物营养数据可视化分析系统

实用指南:用Spark+Django打造食物营养数据可视化分析系统pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consola…

2025液压阀块厂家权威推荐榜:精密加工与直销优势深度解析

2025液压阀块厂家权威推荐榜:精密加工与直销优势深度解析在工业自动化快速发展的今天,液压阀块作为液压系统的核心控制单元,其加工质量直接影响整个系统的运行效率与稳定性。随着制造业转型升级,市场对液压阀块的加…

NOI/1.7编程基础之字符串/18:验证子串

一.提议总结 本题考点:本题考点在于在一个里寻找另一个的过程 二.解题思路 1.先比较字符串的大小,大的里含有小的,小的里必然没有大的 2.排查大字符串中有没有小的里面的第一个 3.再分别往后对比,如果小字符串和大…

深入解析:【Linux网络】Socket编程:UDP网络编程实现DictServer

深入解析:【Linux网络】Socket编程:UDP网络编程实现DictServerpre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "C…

2025焊接变位机厂家权威推荐榜:高效稳定与精准操控口碑之选

2025焊接变位机厂家权威推荐榜:高效稳定与精准操控口碑之选在工业制造智能化转型的浪潮中,焊接变位机作为焊接自动化系统的核心装备,其性能直接影响着焊接质量与生产效率。随着2025年智能制造战略的深入推进,焊接变…

20232404zxy 2025-2026-1 《网络与系统攻防技术》实验一实验报告

一、实验内容 1. 实验任务 (1)直接修改pwn1的机器指令,将main函数中调用foo的指令改为调用getShell。 (2)利用foo函数中gets(无边界检查)的漏洞,构造输入字符串覆盖返回地址,触发getShell。 (3)注入自定义S…