我正在尝试从某些输出中提取值。我正在尝试使用awk捕获我需要的值。
我专门将awk用作学习的机会,而不是要求的机会,如果有一个更好的工具可以实现这一目标,我可以采用这种方式,尽管Mac / Linux上通常必须有它。 (例如jq不可用)
我有一个很大的json blob,通常前十行中的某处将是
"my_key": "my_val",
我需要提取的只是“ my_val”(不带引号)
我已经达到了
awk -F'"' '$0=$4'
返回行中的正确位置,但对所有行都这样做。我觉得有一个更清洁的解决方案我不掌握。
“包含“ my_key”的匹配行然后提取第二对引号之间的值”的awk单行代码是什么?
答案 0 :(得分:0)
一如既往,我一经发布就设法弄清楚。
在这种情况下,以下内容对我有用:
awk -F'"' '/my_key/{print $4}'
如果我对它的理解正确,它将使用“作为分隔符,然后匹配包含my_key的行,然后根据分隔符在该行上打印所需的位置。