элемент массива jq sort_by вместо словаря - PullRequest
0 голосов
/ 27 сентября 2019

с учетом следующего входного файла:

jq . test.json 
[
  [
    "xvv",
    1
  ],
  [
    "ccc",
    2
  ],
  [
    "aaa",
    0
  ]
]

Я хочу получить TSV, отсортированный по второму столбцу.До сих пор я рассчитывал сделать это так:

jq -r '[ .[] | { a: .[0], b:.[1] } ] | sort_by(.b) | .[] | [.a,.b] | @tsv  ' test.json 
aaa 0
xvv 1
ccc 2

Я не могу понять, как сделать сортировку sort_by по индексу массива.Что-то вроде:

jq -r ' sort_by(.1) | .[] | @tsv' test.json

1 Ответ

2 голосов
/ 27 сентября 2019

Попробуйте:

jq -r ' sort_by(.[1]) | .[] | @tsv' test.json
...