Linux grep 文本搜索工具

这篇具有很好参考价值的文章主要介绍了Linux grep 文本搜索工具。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

前言

基本用法

示例

常用选项

-i:忽略大小写

-r:递归搜索目录中的文件

-n:显示匹配行的行号

-v:显示不匹配的行

-l:只显示包含匹配文本的文件名,而不显示匹配行

-E:使用扩展的正则表达式语法

正则表达式语法

常见的文本模式


前言

grep 是一个常用的文本搜索工具,通常用于在文本文件中查找特定模式或字符串。它的名字是 "global regular expression print" 的缩写。可以帮助你在文本文件中查找特定的内容,无论是简单的字符串还是复杂的正则表达式模式。

基本用法

grep pattern filename

pattern:要搜索的正则表达式模式或字符串。

filename:要在其上执行搜索的文件名。

示例

grep "apple" example.txt

常用选项

-i:忽略大小写

grep -i pattern filename

搜索包含特定字符串 "pattern" 的行,不区分大小写:

grep -i "pattern" filename.txt

-r:递归搜索目录中的文件

grep -r pattern directory

递归搜索目录中的文件:

grep -r "pattern" directory/

-n:显示匹配行的行号

grep -n pattern filename

显示匹配行的行号:

grep -n "pattern" filename.txt

-v:显示不匹配的行

grep -v pattern filename

显示不匹配的行:

grep -v "pattern" filename.txt

-l:只显示包含匹配文本的文件名,而不显示匹配行

grep -l pattern filename

显示只包含匹配文本的文件名,而不显示匹配行:

grep -l "pattern" directory/*

-E:使用扩展的正则表达式语法

grep -E pattern filename

"pattern1|pattern2":这是一个正则表达式模式,其中 | 是一个正则表达式操作符,表示逻辑或的意思。

grep -E "pattern1|pattern2" filename.txt

正则表达式语法

.:匹配任何单个字符(除了换行符)。例如,a.b 可以匹配 "axb"、"aab"、"a1b" 等。

*:匹配前一个字符或子表达式零次或多次。例如,a*b 可以匹配 "b"、"ab"、"aab"、"aaab" 等。

+:匹配前一个字符或子表达式一次或多次。例如,a+b 可以匹配 "ab"、"aab"、"aaab" 等。

?:匹配前一个字符或子表达式零次或一次。例如,colou?r 可以匹配 "color" 和 "colour"。

[]:字符类,用于匹配方括号内的任何一个字符。例如,[aeiou] 匹配任何一个元音字母。

[^]:否定字符类,用于匹配除了方括号内字符之外的任何字符。例如,[^0-9] 匹配任何非数字字符。

():捕获组,用于捕获一个子表达式中的匹配文本,以便后续引用。例如,(abc)+ 匹配 "abc"、"abcabc"、"abcabcabc" 等。

^:匹配字符串的开头(或行的开头,如果使用多行模式)。例如,^abc 匹配以 "abc" 开头的行。

$:匹配字符串的结尾(或行的结尾,如果使用多行模式)。例如,xyz$ 匹配以 "xyz" 结尾的行。

常见的文本模式

匹配单词:

匹配单词 "apple":grep "apple" file.txt

匹配以 "apple" 开头的单词:grep "^apple" file.txt

匹配以 "apple" 结尾的单词:grep "apple$" file.txt

匹配包含 "apple" 的单词:grep "apple" file.txt

忽略大小写匹配 "apple":grep -i "apple" file.txt

匹配什么或什么 grep -E "pattern1|pattern2" filename.txt

匹配数字:

匹配整数:grep "[0-9]+" file.txt

匹配浮点数:grep "[0-9]+\.[0-9]+" file.txt

匹配日期:

匹配日期格式 "YYYY-MM-DD":grep "[0-9]{4}-[0-9]{2}-[0-9]{2}" file.txt

匹配IP地址:

匹配IPv4地址:grep "\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b" file.txt

匹配URL:

匹配常见URL:grep "https?://[^\s]+" file.txt

匹配空白行:

匹配空白行:grep "^\s*$" file.txt

匹配引号内的文本:

匹配双引号内的文本:grep "\"[^\"]*\"" file.txt

匹配单引号内的文本:grep "'[^']*'" file.txt文章来源地址https://www.toymoban.com/news/detail-716372.html

到了这里,关于Linux grep 文本搜索工具的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 1024程序员节特辑:【Spring Boot自动配置原理揭秘】

    主页传送门:📀 传送   Spring Boot 是一个用于创建独立的、生产级别的 Spring 应用程序的框架。它极大地简化了 Spring 应用程序的开发过程,其中一个关键的功能就是自动配置(Auto-Configuration)。   自动配置可以根据项目需求自动配置各种服务和组件,它可以帮助开发者

    2024年02月08日
    浏览(69)
  • 好用且免费的CodeWhisperer,给1024程序员节送礼来了

          国庆期间没有胆量去人从众的景点,关在家里刷手机时意外在亚马逊的User Group公众号上发现了CodeWhisperer这么个好东西(bu yao qian),以后撸代码也可以提高生产力(fang yang mo yu)了,这还不赶紧上手试一下。看官方介绍说它支持流行的IDE开发工具,包括VS Code、Intelli

    2024年02月08日
    浏览(54)
  • 1024程序员节带你玩转图片Exif信息获取之JavaScript

    目录 一、前言 二、背景 三、Exif.js          1、Exif.js 简介 2、Exif.js 引入 四、多场景展示数据获取 1、原始图片直接获取  2、base64 编码文件加载  3、文件上传的方式加载  五、总结        1024是2的十次方,二进制计数的基本计量单位之一。1G=1024M,而1G与1级谐音,也有一

    2024年02月20日
    浏览(60)
  • 1024程序员节特辑 | Spring Boot实战 之 MongoDB分片或复制集操作

    Spring实战系列文章: Spring实战 | Spring AOP核心秘笈之葵花宝典 Spring实战 | Spring IOC不能说的秘密? 国庆中秋特辑系列文章: 国庆中秋特辑(八)Spring Boot项目如何使用JPA 国庆中秋特辑(七)Java软件工程师常见20道编程面试题 国庆中秋特辑(六)大学生常见30道宝藏编程面试题

    2024年02月08日
    浏览(82)
  • 1024程序员狂欢节 | IT前沿技术、人工智能、数据挖掘、网络空间安全技术

    一年一度的1024程序员狂欢节又到啦!成为更卓越的自己,坚持阅读和学习,别给自己留遗憾,行动起来吧! 那么,都有哪些好书值得入手呢?小编为大家整理了前沿技术、人工智能、集成电路科学与芯片技术、新一代信息与通信技术、网络空间安全技术,四大热点领域近期

    2024年02月06日
    浏览(67)
  • 1024程序员节特辑 | ELK+ 用户画像构建个性化推荐引擎,智能实现“千人千面”

    专栏集锦,大佬们可以收藏以备不时之需 Spring Cloud实战专栏:https://blog.csdn.net/superdangbo/category_9270827.html Python 实战专栏:https://blog.csdn.net/superdangbo/category_9271194.html Logback 详解专栏:https://blog.csdn.net/superdangbo/category_9271502.html tensorflow专栏:https://blog.csdn.net/superdangbo/category_869

    2024年02月07日
    浏览(84)
  • 1024程序员节特辑 | 解密Spring Cloud Hystrix熔断提高系统的可用性和容错能力

    专栏集锦,大佬们可以收藏以备不时之需 Spring Cloud实战专栏:https://blog.csdn.net/superdangbo/category_9270827.html Python 实战专栏:https://blog.csdn.net/superdangbo/category_9271194.html Logback 详解专栏:https://blog.csdn.net/superdangbo/category_9271502.html tensorflow专栏:https://blog.csdn.net/superdangbo/category_869

    2024年02月08日
    浏览(55)
  • 1024程序员节?我们整点AI绘图玩玩吧,一文教你配置stable-diffusion

    需提前准备:一台高性能的电脑(尤其是显存)、python、Git、梯子。 其实Github上有很多关于Stable diffusion的库,综合对比之后,我选取的是比较全面的AUTOMATIC1111这个,源码链接:Stable-diffusion(Github) 找到安装那块的教程,此教程以windows为例。 ps:如果你电脑上已经有了pyt

    2024年01月16日
    浏览(74)
  • PHP框架开发实践 | 1024 程序员节:通过index.php找到对应的controller是如何实现的

    🏆作者简介,黑夜开发者,CSDN领军人物,全栈领域优质创作者✌,CSDN博客专家,阿里云社区专家博主,2023年6月CSDN上海赛道top4。 🏆数年电商行业从业经验,历任核心研发工程师,项目技术负责人。 🏆本文已收录于PHP专栏:PHP进阶实战教程。 🎉欢迎 👍点赞✍评论⭐收藏

    2024年02月08日
    浏览(72)
  • Linux:文本搜索命令grep

    相关阅读 Linux https://blog.csdn.net/weixin_45791458/category_12234591.html         grep是类Unix系统中用于搜索并打印文件中符合某种模式(pattern)的行。grep命令的的基本语法如下所示:         grep搜索命名的输入文件,即最后的[FILE...](如果没有文件或者如果单个连字符-(-)作为文件名给

    2024年02月07日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包