Ubuntu, обнаружить новый дисплей

Ваша команда curlзапрашивает два хоста. Каждый вернет документ JSON. jq -sдобавит их вместе как две записи в массиве. Чтобы получить первую запись (, которую вы представляете как ожидаемый результат ), просто запросите .[0]из jq, как в

curl -s ipinfo.io 'api.ipify.org/?format=json' | jq -s '.[0]'

или просто используйте первый хост с самого начала:

curl ipinfo.io

Чтобы на самом деле объединить два документа, примените команду jqaddк возвращаемому списку:

curl -s ipinfo.io 'api.ipify.org/?format=json' | jq -s 'add'

Обратите внимание: поскольку объект JSON не может содержать несколько ключей с одинаковым именем, любой последующий ключ заменит эквивалентный предыдущий ключ, так что, если ваш jq -sдокумент

[
  {
    "ip": "139.162.244.103",
    "hostname": "businessproservices.com",
    "city": "London",
    "region": "England",
    "country": "GB",
    "loc": "51.5142,-0.0931",
    "postal": "EC2V",
    "org": "AS63949 Linode, LLC"
  },
  {
    "ip": "39.62.44.1",
    "country": "UK"
  }
]

тогда это будет объединено как

{
  "ip": "39.62.44.1",
  "hostname": "businessproservices.com",
  "city": "London",
  "region": "England",
  "country": "UK",
  "loc": "51.5142,-0.0931",
  "postal": "EC2V",
  "org": "AS63949 Linode, LLC"
}

при использовании jq -s addвместо jq -s.

0
10.06.2020, 13:35
0 ответов

Теги

Похожие вопросы