我想从json文件的输出中提取单个值。
curl cli.fyi/8.8.8.8
输出
{
"type": "IP Address",
"data": {
"organisation": "Google LLC",
"country": "United States",
"countryCode": "US",
"continent": "North America",
"latitude": "37.751",
"longitude": "-97.822"
}
}
我可以运行:
curl cli.fyi/8.8.8.8 2>/dev/null | awk -F'"' '$2=="organisation"'
它将输出:
"organisation": "Google LLC",
我怎样才能获得Google LLC
?
答案 0 :(得分:4)
如果您需要解析JSON,最好的办法是使用实际的JSON解析器,而不是尝试使用awk
或类似的解析器。 jq工具非常适用于此:
curl cli.fyi/8.8.8.8 | jq -r .data.organization
那会给你一个简单的字符串:
Google LLC