Как преобразовать массив в разделенный запятыми список строк в файле .gitlab-ci.yml - PullRequest
0 голосов
/ 19 марта 2020

Я пытаюсь добиться с помощью jq преобразования из этого ввода:

    [
         "10.149.46",
         "10.149.35",
         "10.149.45"
       ]

в нечто вроде списка строк, см. Ниже:

"10.149.46","10.149.35","10.149.45"

Как я пытаюсь добейтесь этого и сохраните его в переменной в .gitlab-ci.yml, чтобы быть честным, любая альтернатива будет оценена, не обязательно используя jq

Для большей ясности ...

Значения хранятся в файл sourcefile.json и в поле myfield в формате:

  {
  "myfield": [
         "10.149.46",
         "10.149.35",
         "10.149.45"
  ],
  "otherfield": "othervalue"
}

1 Ответ

1 голос
/ 19 марта 2020

Разобрался и спасибо @oguzismail за указание в правильном направлении

вот два способа, которые мне помогли:

  • с jq @csv:
> echo $(jq -r '.myfield' sourcefile.json |jq @csv)

result:

"\"10.149.46\",\"10.149.35\",\"10.149.45\""

ИЛИ

  • с jq tostring:
> echo $(jq -r '.myfield' sourcefile.json |jq tostring)

result:

"[\"10.149.46\",\"10.149.35\",\"10.149.35\"]"
...