`
MauerSu
  • 浏览: 513429 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

shell -- 使用 grep 的 -o 和 -E 选项进行正则的精确匹配

 
阅读更多

源:https://blog.csdn.net/u013982161/article/details/52334940

评:

sed 命令可以很好的进行行匹配,但从某一行中精确匹配某些内容,则使用 grep 命令并辅以 -o 和 -E 选项可达到此目的。其中 -o 表示“only-matching”,即“仅匹配”之意。光用它不够,配合 -E 选项使用扩展正则表达式则威力巨大。

 

比如下面有一条文本 tmp.txt ,其中内容为:

 

{"aid":45,"path":"attachment/Mon_1112/2_1_5728040df3ab346.jpg"}

 

我们想从中过略出 aid 的值即 45 ,那么可以先如下这么做:

 

grep -o -E 'aid":[1-9]*' tmp.txt

 

得到的结果为:

 

aid":45

 

这时就好办了,我们可以使用 awk 的 -F 选项指示出冒号分隔符,这样就容易过滤出 45 这个值来,整个命令综合如下:

 

grep -o -E 'aid":[1-9]*' tmp.txt |awk-F: '{print $2}'

分享到:
评论

相关推荐

    文本处理工具三剑客之---grep (正则表达式引擎,正则表达式元字符).md

    `grep`的核心优势在于其支持正则表达式的使用,这使得用户能够在更复杂的文本处理场景中灵活地应用各种模式匹配规则。 #### 正则表达式(Regular Expression) 正则表达式是一种模式匹配工具,由一系列文本字符和...

    linux shell正则表达式

    Linux Shell中的正则表达式是文本处理和搜索的关键工具,尤其在使用命令行工具如grep、sed和awk时。它们允许我们以灵活的方式查找、替换和解析文本模式。以下是正则表达式的基本概念、分类以及在Linux常用文本工具中...

    Linux在合集中使用正则表达式来匹配查找.zip

    综上所述,这个压缩包文件合集详细地介绍了Linux环境中如何使用正则表达式进行文本匹配和处理,涵盖了正则表达式的基础知识、sed工具的使用以及grep系列命令的应用。掌握这些内容,将极大地提高你在Linux系统中处理...

    shell之grep

    $ grep -E 'magic' file | grep -E 'sysrq' ``` #### 六、应用场景 1. **文本检索**:在大量文档中快速查找特定信息。 2. **日志分析**:分析服务器日志文件,监控应用程序运行状态。 3. **代码审查**:在源代码...

    01-SHELL编程前奏-小工具

    - `-E`:使用扩展正则表达式。 - `^key`:匹配以特定关键字开头的行。 - `key$`:匹配以特定关键字结尾的行。 - `^$`:匹配空行。 - `--color=auto`:使找到的关键字部分带有颜色高亮。 ##### 示例 假设有一...

    grep习题.md

    - **使用正则表达式和忽略大小写的选项**:`grep -E-i '^s' /proc/meminfo`。这里`-E`表示支持扩展正则表达式,`-i`表示忽略大小写,`^s`表示匹配以`s`开头的行。 - **同时匹配大写和小写字母**:`grep -E '^(s|S)' ...

    shell浅谈之七文本处理工具grep、sed、awk.docx

    除了基础的grep,还有两个扩展版本:egrep(等同于`grep -E`)支持扩展正则表达式,fgrep(等同于`grep -F`)则按照字符串字面意义进行匹配,不支持正则表达式。 了解grep的基础知识后,对于理解sed和awk至关重要。...

    LINUX与UNIX SHELL编程指南

    - **8.1.7 精确匹配**:精确匹配整个词。 - 示例:`grep -w word file.txt` - **8.1.8 大小写敏感**:忽略大小写。 - 示例:`grep -i pattern file.txt` - **8.2 grep和正则表达式** - **8.2.1 模式范围**:...

    unix的grep命令

    通过具体的例子,读者可以更加直观地了解如何使用`grep`进行文本搜索。无论是对于日常的文件管理还是开发工作中的文本处理,掌握`grep`都是非常有用的。希望本文能够帮助大家更好地利用这一强大的工具。

    Grep学习笔记.pdf

    在Linux环境中,通常使用的是GNU版本的grep,它提供了更多的功能,允许用户通过命令行选项(如-G、-E、-F)来选择使用egrep或fgrep的特性。Grep的工作流程简单直观,用户只需提供搜索模式和目标文件,Grep就会在文件...

    Linux系统指令:文件内容查询工具Grep

    这个强大的工具是GNU项目的一部分,提供了更丰富的功能,如支持eGrep和fGrep的特性,可以通过命令行选项-G、-E、-F来调用。 1. **Grep的使用方式** Grep的工作原理是在一个或多个文件中搜索指定的字符串模板。如果...

    LINUX与UNIX Shell

    此外,grep家族还提供了多种选项和模式来实现对文件内容的精确匹配和搜索,例如匹配任意字符、查询格式化文件名、查询IP地址等。 整体来看,这份文档是Linux和UNIX环境下Shell编程的一份详尽指南,适合有一定基础的...

    windows grep

    1. **正则表达式支持**:grep支持使用正则表达式作为搜索模式,这使得搜索更具有灵活性和精确性。 2. **多文件搜索**:可以一次性搜索一个目录下的所有文件,或者指定多个文件进行搜索。 3. **反向匹配**:除了查找...

    自己总结的Linux_Shell_脚本讲解+示例

    - `<\>`: 使用 `\` 来精确匹配符号 `和 `>`。 - `{n}`: 匹配前面的字符恰好出现n次。 - `{n,}`: 匹配前面的字符至少出现n次。 - `{n,m}`: 匹配前面的字符出现n到m次。 - **示例**: - `hel*o`: 匹配任何以 `he` ...

    shell教程-30章,下了之后会让你大吃一惊,相当好

    8.1.2 grep选项 57 8.1.3 查询多个文件 57 8.1.4 行匹配 57 8.1.5 行数 58 8.1.6 显示非匹配行 58 8.1.7 精确匹配 58 8.1.8 大小写敏感 58 8.2 grep和正则表达式 58 8.2.1 模式范围 59 8.2.2 不匹配行首 59 8.2.3 ...

    浅谈Linux grep与正则表达式

    你可以使用`-i`选项忽略大小写,`-o`只显示匹配的字符串,`-v`显示不匹配的行,`-E`启用扩展正则表达式,`-q`静默模式,`-A/B/C`显示匹配行的上下文行。 扩展版的grep,即egrep,实际上等同于`grep -E`,它支持更...

    使用Linux正则表达式灵活搜索文件中的文本

    下面将详细介绍如何使用`grep`和其他相关工具配合正则表达式进行灵活的文本搜索。 1. `grep`命令的基本用法: `grep`命令的基本语法是`grep [options] regex [files]`,其中`options`是可选的参数,`regex`是正则...

Global site tag (gtag.js) - Google Analytics