Расширяйте элементы массива, добавляя строку к каждому в цикле - PullRequest
0 голосов
/ 03 августа 2020

Надеюсь, кто-нибудь сможет указать мне правильное направление!

Мои данные:

{
  "accounts": [
    "bob.doe",
    "joe.gomez",
    "bill.murr"
  ]
}

Моя попытка:

acc=$(cat $file |  jq -r  '.accounts[]' )
echo "$acc test"

Вывод:

bob.doe
joe.gomez
bill.murr test

Кажется, все значения в JSON обрабатываются как один объект массива.

Желаемый результат:

bob.doe test
joe.gomez test
bill.murr test

Есть предложения?

Ответы [ 2 ]

2 голосов
/ 03 августа 2020

Переменной acc назначается весь вывод JQ, там нет l oop. И вам он тоже не нужен.

$ jq -r '"\(.accounts[]) test"' file
bob.doe test
joe.gomez test
bill.murr test
0 голосов
/ 04 августа 2020

спасибо, это привело меня на правильный путь!

sa=$(cat $file |  jq -r  '"\\n \"\(.service_accounts[])\" = [\"\(.namespace)\"]"')
...