Meu programa retorna JSON
e stdout
é um objeto com operations
campo, que contém uma lista de operações. Cada operação contém campos incluindo id
campos, por exemplo:
{
"operations": [
{
"id": "694ef895-793f4631-41103e8-8ab59e66",
Estou tentando obter uma lista de ids disso com jq
.
Se estou escrevendo
jq '.operations | .[] | .id'
funciona, e se eu estiver escrevendo
jq '.operations | .[].id'
funciona também.
Ou seja, a justaposição é a mesma que |
aqui.
Mas se eu escrever
jq '.operations.[].id'
ele falha com a mensagem
jq: erro: erro de sintaxe, '[' inesperado, esperando FORMAT ou QQSTRING_START (problemas de citação do shell Unix?) em , linha 1: .operations.[].id jq: 1 erro de compilação
por que e como corrigir?
Contanto que você esteja apenas comparando
.foo.bar
e|
, não há diferença, como a página de manual diz em "FILTROS BÁSICOS":E sim, você precisa
.operations[].id
no seu caso.