首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用shell的Regex组匹配

使用shell的Regex组匹配
EN

Stack Overflow用户
提问于 2019-12-09 16:55:24
回答 1查看 49关注 0票数 0

我试图匹配一个模式,并将其设置为一个变量。

我有一个包含许多"value=key“的文件。我想找到键"fizz“的值。在文件中,我有一个字符串

代码语言:javascript
运行
复制
fizz="something_cool"

我试图将其解析为:

代码语言:javascript
运行
复制
cat file | grep fizz="(.*)"

我在想,它会给我组输出,然后我可以使用$1来选择它。

我还玩转义字符和sedawk。但我没办法让它起作用。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-09 17:00:01

您需要为使用未转义的()启用扩展正则表达式,并正确地使用引号模式:

代码语言:javascript
运行
复制
grep -E 'fizz="(.*)"' file

但是,awk在这里可能是更好的选择,因为它将在相同的命令中同时执行搜索和筛选。

你可以用:

代码语言:javascript
运行
复制
awk -F= '$1 == "fizz" {gsub(/"/, "", $2); print $2}' file

代码语言:javascript
运行
复制
something_cool
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59253350

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档