Мне нужен одинаковый вывод CSV для одного и другого списка.
Но я не могу понять, как сделать это с jq
.
Случай 1: вход является dict :
$ curl --silent 'https://uinames.com/api/?amount=1'
{"name":"Daniel","surname":"Gligor","gender":"male","region":"Romania"}
и моим соответствующим jq
выражением:
$ curl --silent 'https://uinames.com/api/?amount=1' |
jq -r '[.name, .surname] | @csv'
"Angel","Sîrghie"
Случай 2: вход представляет собой список диктов :
$ curl --silent 'https://uinames.com/api/?amount=2'
[{"name":"Summer","surname":"Lee","gender":"female","region":"Canada"},{"name":"Július","surname":"Dzurjanin","gender":"male","region":"Slovakia"}]
Мое выражение:
$ curl --silent 'https://uinames.com/api/?amount=2' |
> jq -r '.[] | [.name, .surname] | @csv'
"Francisca","Navarro"
"Larisa","Dănescu"
Я перепробовал множество вариантов с if/else
, select()
, path()
, //
, et c К сожалению, я не могу создать рабочее выражение.