Saya menemukan Tanya Jawab ini dengan solusi untuk mencetak semua kunci dalam suatu objek:
jq -r 'keys[] as $k | "\($k), \(.[$k] | .ip)"'
Dalam kasus saya, saya ingin melakukan di atas tetapi pada sub-objek:
jq -r '.connections keys[] as $k | "\($k), \(.[$k] | .ip)"'
Apa sintaks yang tepat untuk melakukan ini?
keys
mengurutkan kunci, jadi perlu menunjukkan bahwakeys_unsorted
tidak.keys
menghasilkan nama-nama kunci dalam urutan diurutkan; jika Anda ingin mereka dalam urutan asli, gunakankeys_unsorted
". Jadi OP sadar akan hal itu dan telah memilih secarakeys
sadar.Fungsi bash yang lebih umum untuk mengekspor vars (dengan interpolasi):
contoh data
sumber