linux中grep命令详解及使用示例

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

一、grep命令基本介绍

grep 命令(Global search REgular expression and Print out the line) 是linux中一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。用于过滤/搜索的特定字符,可以配合正则表达式组合多种搜索命令。

语法:grep [options] [pattern] 搜索文件

常用的options(选项)

选项 含义
-n 显示匹配到的行号
-v 反转查找,排除要匹配的结果
-c 只统计匹配到结果的行数
-i 不区分大小写
-o 只输出文件中匹配到的部分
-w 只匹配过滤的单词
-E 使用扩展正则表达式

常用的pattern(规则表达式)

规则 含义
" " 直接输入要匹配的内容,简单字符串可以不带双引号,复杂的字符串建议带上双引号
^ 匹配以目标字符串开头的行
$ 匹配以目标字符串结尾的行
. 匹配一个非换行符的字符
* 匹配零个或多个先前字符
.* 匹配任意字符
[] 匹配一个指定范围内的字符
[^] 匹配一个不在指定范围内的字符
\w 匹配文字和数字字符,也就是[A-Za-z0-9]
\W w的反置形式,匹配一个或多个非单词字符,如点号句号等

二、grep命令常见的用法

首先我们在linux中,创建一个测试文件,文件内容如下:
grep命令详解,linux基础,linux,正则表达式

1. 匹配包含关键词的所有行

在文件中搜索包含hello关键词的所有行

# 不带行号
grep "hello" a.txt

# 带行号
grep -n "hello" a.txt

grep命令详解,linux基础,linux,正则表达式

2. 匹配不包含关键词的所有行

在文件中匹配不包含关键词hello的所有行

grep -v "hello" a.txt

grep命令详解,linux基础,linux,正则表达式

3. 统计包含关键词的行数

统计包含关键词hello的的行数

grep -c "hello" a.txt

grep命令详解,linux基础,linux,正则表达式

4. 统计包含关键词所有行数,不区分大小写

统计文件中包含关键词spark的所有行数,不区分大小写

grep -i "spark" a.txt

grep命令详解,linux基础,linux,正则表达式

5. 输出匹配关键词的部分

输出匹配到关键词hello的部分

grep -o "hello" a.txt

grep命令详解,linux基础,linux,正则表达式

6. 正则表达式匹配多个关键词

使用正则表达式匹配既包含关键词pytorch又包含关键词hello的所有行

grep -E "(pytorch|hello)" a.txt

grep命令详解,linux基础,linux,正则表达式

7. 多种匹配方式组合使用

多种选项组合使用,比如匹配既包含关键词spark又包含关键词hello的所有行,显示行号、不区分大小写、使用正则表达式

grep -inE "(spark|hello)" a.txt

grep命令详解,linux基础,linux,正则表达式

8. 配合管道符进行匹配

配合管道|搜索某个目录下包含ab关键字的文件

# 显示匹配到的文件
ls | grep -E "(a|b)"

# 显示匹配到文件的个数
ls | grep -cE "(a|b)"

grep命令详解,linux基础,linux,正则表达式文章来源地址https://www.toymoban.com/news/detail-737832.html

到了这里,关于linux中grep命令详解及使用示例的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Linux Grep 正则表达式

    grep是Linux中用于文本处理的最有用和功能最强大的命令之一。grep在一个或多个输入文件中搜索与正则表达式匹配的行,并将每条匹配的行写入到标准输出 正则表达式是与一组字符串匹配的模式。模式由运算符,文字字符和元字符组成,它们具有特殊的含义。GNU grep支持三种正

    2024年02月04日
    浏览(44)
  • linux 正则表达式1和grep

    目录 一、正则表达式 二、元字符 三、次数符号 四、位置锚定 五、实验                             一、正则表达式 通配符功能是用来处理文件名,而正则表达式是处理文本内容中字符。 分类: 1. 基本正则表达式 2.扩展正则表达式 二、元字符 元字符: .   匹配任意单

    2024年02月08日
    浏览(41)
  • Linux三剑客(awk、sed、grep) 和 正则表达式

    本文章适用于一定工作经验(熟悉Linux基础)的同行,欢迎各位大佬批判指正。 上手三剑客(grep,sed,awk)之前,需要熟悉正则表达式, 正则表达式 ——事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的

    2024年02月15日
    浏览(55)
  • Linux系统三剑客之grep和正则表达式的介绍(一)

    1.正则表达式 目录 1.正则表达式 1.什么是正则表达式 ? 2.正则表达式的使用场景 3.正则表达式字符表示 4.它们之间的区别 2.grep命令 作用: 语法: 说明: 选项:options 重点 实例 3.后面的下次再更新。  1.什么是正则表达式 ? 一个正则表达式就是描述了一个字符串集合的方式

    2024年01月18日
    浏览(61)
  • linux | sort、uniq、history、xargs、grep 正则表达式(不深入)

    1.正则表达式 sort命令 #把内容读到内存,然后以行为单位进行排序并把结果输出到stdout(因为直接把排序结果输出,所以可以重定向),但是并不修改源文件内容。 参考如下 uniq命令 #流程和sort类似,也是把相邻的相同行去掉,最后输出。注意间隔的相同行无法去除。 如何把

    2024年02月16日
    浏览(42)
  • Linux:shell脚本:基础使用(6)《正则表达式-awk工具》

    awk是行处理器: 相比较屏幕处理的优点,在处理庞大文件时不会出现内存溢出或是处理缓慢的问题,通常用来格式化文本信息 awk处理过程: 依次对每一行进行处理,然后输出 1)awk命令会逐行读取文件的内容进行处理 2)awk以’:’为分隔符,将第1行数据格式化为7段,每段数

    2024年02月12日
    浏览(42)
  • 正则表达式(拓展)、grep(拓展)和sed

      egrep默认使用的是 扩张正则 。   表示次数 * 匹配前面字符任意数 ? 0次或者1次 + 1次或者多次 {n} 匹配n次 {m,n} 最少m次,最多n次 {,n} 匹配前面的字符最多n次 {n,} 匹配前面的字符最少n次   表示分组 ()分组 将多个字符捆绑在一起当作一个整体处理 1、2 后向引用 | 或者 a|b

    2024年02月19日
    浏览(40)
  • 【100天精通python】Day23:正则表达式,基本语法与re模块详解示例

      目录  专栏导读  1 正则表达式概述 2 正则表达式语法 2.1 正则表达式语法元素

    2024年02月14日
    浏览(52)
  • 正则表达式详解(零基础教学,手把手教你写正则)

    本篇文章将从零讲解什么是正则表达式,以及正则表达式的规则、在python中的应用,用通俗易懂的描述方式进行零基础级别的讲解,尽量做到全网最全讲解,力求最高质量文章,欢迎关注!点击目录可直接进行相关位置跳转。 目录: 什么是正则? 为什么需要正则? 元字符

    2023年04月08日
    浏览(41)
  • 小白到运维工程师自学之路 第四十九集 (正则表达式之grep)

    1、正则表达式(Regular Expression,简称为RegExp或Regex)是一种用于描述、匹配和操作文本的字符串模式的表达式。它提供了一种强大而灵活的方式来进行字符串的搜索、替换、提取和验证操作。 2、正则表达式可以用于各种编程语言和应用程序中,包括文本编辑器、命令行工具

    2024年02月13日
    浏览(47)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包