Как я могу получить первые данные, используя jq? - PullRequest
2 голосов
/ 24 февраля 2020

У меня есть файл тестовых данных test.txt:

{
  "type": "home",
  "number": "212 555-1234"
}
{
  "type": "fax",
  "number": "646 555-4567"
}

Я пытаюсь получить первое число:

jq .number test.txt

Но он получает все числа.

Кто-нибудь может мне помочь?

1 Ответ

1 голос
/ 24 февраля 2020

Как видите, по умолчанию jq читает весь поток ввода. Параметр командной строки -n отключает это поведение, поэтому одно (эффективное) решение будет следующим:

jq -n 'input.number' test.txt

Если ваш jq не имеет input, то сейчас будет отличное время для обновления; если это невозможно:

jq -s '.[0].number' test.txt
...