Extrai valor do documento JSON retornado por curl

0
[ec2-user@ip-10-0-1-238 ~]$ curl "https://tools.keycdn.com/geo.json?host={18.205.6.240}"
{"status":"success","description":"Data successfully received.","data":{"geo":{"host":"18.205.6.240","ip":"18.205.6.240","rdns":"ec2-18-205-6-240.compute-1.amazonaws.com","asn":14618,"isp":"Amazon.com, Inc.","country_name":"United States","country_code":"US","region_name":"Virginia","region_code":"VA","city":"Ashburn","postal_code":"20149","continent_name":"North America","continent_code":"NA","latitude":39.0481,"longitude":-77.4728,"metro_code":511,"timezone":"America/New_Y

Nesta saída, eu preciso extrair o country_name. Então, não tenho muita certeza de como fazer isso?

    
por Shivam Agrawal 22.06.2018 / 09:55

1 resposta

2
$ curl "https://tools.keycdn.com/geo.json?host={18.205.6.240}" 2>/dev/null | jq -r '.data.geo.country_name'
United States

A expressão jq .data.geo.country_name extrai o item fornecido no documento JSON retornado do terminal que você acessa com curl .

    
por 22.06.2018 / 10:48

Tags