博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
shell -- 使用 grep 的 -o 和 -E 选项进行正则的精确匹配
阅读量:4186 次
发布时间:2019-05-26

本文共 507 字,大约阅读时间需要 1 分钟。

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

作者:金星show
链接:https://www.jianshu.com/p/941e9c099903
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

你可能感兴趣的文章
Java并发| Atomic包下的原子操作类使用与原理解析
查看>>
Mac M1 安装 iTerm2+Oh My Zsh+zsh-syntax-highlighting 真香!
查看>>
M1芯片Mac 安装git
查看>>
M1芯片Mac Homebrew 安装
查看>>
一篇文章看懂ZooKeeper内部原理
查看>>
全面理解Java内存模型
查看>>
Java类型信息详解
查看>>
深入理解Java线程池
查看>>
Java线程堆栈分析
查看>>
Java中子类能否继承父类的私有属性和方法
查看>>
JVM内存模型详解
查看>>
(二)Git--工作区和暂存区、管理修改与撤销
查看>>
(七)Git--自定义Git
查看>>
(五)Git--分支管理
查看>>
(四)Git--远程仓库
查看>>
(六) Git--标签管理
查看>>
java中继承,子类是否继承父类的构造函数
查看>>
什么是Spring Cloud ?
查看>>
Qt下D-Bus的具体运用(软键盘输入法的实现)
查看>>
嵌入式环境的搭建(用于Arm开发板)
查看>>