微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

regex – grep:组捕获

我有以下字符串:
{"_id":"scheme_version","_rev":"4-cad1842a7646b4497066e09c3788e724","scheme_version":1234}

并且我需要获得“scheme version”的值,在此示例中为1234。

我努力了

grep -Eo "\"scheme_version\":(\w*)"

但是它返回

"scheme_version":1234

如何做到?我知道我可以添加sed调用,但我更喜欢用单个grep。

这可能适合您:
echo '{"_id":"scheme_version","scheme_version":1234}' |
sed -n 's/.*"scheme_version":\([^}]*\)}/\1/p'
1234

对不起,它不是grep,所以如果你喜欢忽略这个解决方案。

或粘贴grep并添加

grep -Eo "\"scheme_version\":(\w*)"| cut -d: -f2

原文地址:https://www.jb51.cc/bash/389108.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐