Como fazer um loop através do array json no shell script

0

abaixo é o array json, de cada objeto eu preciso imprimir link e nome. pode conseguir isso a partir do script de shell? Eu tentei usar jq, mas consegui buscar apenas um valor.

values[
{
  "Links": "https://abc/tset",
  "Dates": 1540204743643,
  "name" : test1
}
{
  "Links": "https://abc/tset",
  "Dates": 1539256093799,
  "name" : test2
}
]
    
por user317208 23.10.2018 / 07:43

2 respostas

2

Você quer dizer algo assim?

$ jq --raw-output '.values[] | [.Links,.name] | @tsv' <<< '{"values": [{"Links": "https://abc/tset", "Dates": 1540204743643, "name": "test1"}, {"Links": "https://abc/tset", "Dates": 1539256093799, "name": "test2"}]}'
https://abc/tset    test1
https://abc/tset    test2
    
por 23.10.2018 / 09:36
0

você pode usar isto:
grep -Eoe ' "Links":([[:space:]]+[^[:space:]]+){1}' -Eoe ' "name" :([[:space:]]+[^[:space:]]+){1}'

encontrará link e name e mostrará uma palavra depois deles.

    
por 23.10.2018 / 07:58