Использование AWK для фильтрации сложной строки - PullRequest
0 голосов
/ 17 июня 2020

Я новичок в AWK, мне нужно сохранить в файле значение поля «values» из этого вывода

'{"extraLeveling":1,"columnNames":["count(userId)"],"values":[[13]]}'

В этом случае мне нужно 13, как я могу это сделать используя awk? Я пробовал, выполнив awk -F ',' '{print $ 4}, но определенно делаю что-то не так.

Спасибо!

Ответы [ 2 ]

3 голосов
/ 17 июня 2020

Если оба ' не являются частью строки, я рекомендую использовать jq для вашего JSON.

jq '.values[][]' file

Вывод:

13
1 голос
/ 18 июня 2020

запрос бедняги

... | sed -E 's/.*"values":\[\[(.*)\]\].*/\1/'

13

соответствует значению в двойных квадратных скобках рядом с ключом «значения».

...