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

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}‘

时间: 2024-10-12 13:37:47

使用 grep 的 -o 和 -E 选项进行正则的精确匹配的相关文章

grep 精确匹配

使用grep实现精确过滤的五种方法 (1)当被过滤的内容占据一行时 [[email protected] scripts]# cat oldboy.log        200 0200 2000 [[email protected] scripts]# grep "\b200\b" oldboy.log  200 #<==正则按单词匹配 [[email protected] scripts]# grep -w "200" oldboy.log        

Linux shell】grep命令精确匹配字符串查找

需求: 精确匹配查找某个字符串 精确匹配: 例如: 在抽取字符串“48”,返回结果包含诸如484和483等包含“48”的其他字符串,实际上应精确抽取只包含48的各行. 使用grep抽取精确匹配的一种有效方式是在抽取字符串前加 \ <, 在抽取字符串后加 \ > .假定现在精确抽取48, 方法如下: #grep ' \ <48\>' filename 原文地址:https://www.cnblogs.com/mingzhang/p/11002241.html

文本处理工具与正则表达式、grep

一.文本处理工具 1.文本查看命令 cat [OPTION]- [FILE]- -n 显示行号 -b 空格行不加行号,有字符的行才加 -s  相邻的空行压缩为一行,长和-n联用 -v 处理windows中的^M -T 可以看到tab\space -A  显示所有控制符(包括windows文本中的^M,^T) -E  显示行结束符$ (回车) tac [OPTION]- [FILE]-  将每个指定文件按行倒置并写到标准输出. 效果与cat 相反 rev  将指定文件从最后一个字符开始显示到第一个

grep常用指令

一.grep 常用: grep [-acinv] '搜寻字符串' filename 参数说明: -a :将 binary 档案以 text 档案的方式搜寻数据 -c :计算找到 '搜寻字符串' 的次数 -i :忽略大小写的不同,所以大小写视为相同 -n :顺便输出行号 -v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行! 1.搜索特定的字符 grep 'oo' pp.txt  以下仅仅用 pp 代表 pp.txt 查看显示字符的行数 grep -n 'oo' pp 查看非oo的字符

grep一族正则表达式及用法

grep家族属于Linux上文本处理三剑客之一,说到这里我们就先说说其他那两个剑客: 其一sed:全称流编辑器,行编辑器,文本编辑工具由英文名Steam EDitor缩写而来; sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换.删除.新增.选取等特定工作: 其二 awk相比对与sad比较优秀,运行效率高,对格式化的文本处理能力超强.在其对数据分析并生成报告时,显得尤为强大;         sed & awk的比较: sed命令的功能同awk类似

&quot;grep&quot;及正则表达式的一般用法

grep:是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并能把匹配的行打印出来. 模式:由正则表达式的元字符及文本字符所编写的过滤条件: 元字符:字符不表示其字面意义,而用于表示通配或控制功能: 分两类:             基本正则表达式:BRE             扩展正则表达式:ERE     基本用法:grep [OPTIONS] PATTERN [FILE...] 基本选项:          --color=auto:对匹配到的串做高亮显示          -i  

Linux文件系统相关权限及正则表达式相关命令grep、egrep的使用说明

一.总结本次课程中所涉及命令的使用方法及相关实例展示 1.权限管理相关命令: (1)修改文件权限:chmod(用户类别:u,g,o,a) chmod 用户类别=MODE file...(修改某类用户或某些类用户权限) chmod 用户类别+|-MODE file,...(修改某类用户的某位或某些位权限) -R : 递归               --reference=/path/to/file ,...(复制某文件的权限)    (实例):创建用户mysql01,设置其家目录及内部的文件,属

马哥公众号文章学习【grep命令的用法实例】

1.搜索和寻找文件 grep -i 忽略大小写 [ignore 忽略,不理踩] 2.搜索和过滤文件 grep -v "#" [] 3.在搜索字符串前面或后面显示行数 ifconfig | grep -A 4 etho [-A after 后面] ifconfig | grep -B 2 up [-B before 前面] 4.匹配字符串周围打印出行号 ifconfig | grep -C 2 etho [-C center 中心] 5.计算匹配项的数目,类似wc ifconfig |

linux中常用的文本处理工具

在linux文件系统中经常会使用到文本处理工具,这里简单介绍几种文本处理工具: 抽取文本的工具 文件内容:less和cat 文件截取:head和tail 按列抽取:cut 按关键字抽取:grep , egrep 文件查看命令:cat, tac,rev,more,less cat命令是用户经常使用的用来查看文本文件的命令,cat命令是需要接收到标准输入然后再标准输出设备上.并且和cat命令相对应的还有tac,tev两个命令. 语法:cat [OPTION]... [FILE]... 常用选项: -