Извлечение значений между второй парой кавычек - PullRequest
0 голосов
/ 03 июля 2019

Я пытаюсь извлечь значение из некоторого вывода. Я пытаюсь использовать awk для получения нужного значения.

Я использую awk специально как большую возможность для обучения, чем как требование, если есть лучший инструмент для работы, я могу пойти по этому пути, хотя это должно быть что-то, что обычно доступно в Mac / Linux. (например, jq недоступен)

У меня есть большой BLOB-объект json, и обычно где-то в первых 10 строках будет

"my_key": "my_val",

Что мне нужно извлечь, это просто "my_val" (без кавычек)

Я дошел до

awk -F'"' '$0=$4'

, который возвращает правильную позицию в строке, но делает это для всех строк. Я чувствую, что есть более чистое решение, которое я не понимаю.

Что такое однострочник awk для "строки соответствия, содержащей" my_key ", а затем извлечь значение между второй парой кавычек"?

1 Ответ

0 голосов
/ 03 июля 2019

Как всегда. Как только я отправляю сообщение, мне удается выяснить это.

В этом случае у меня сработало следующее:

awk -F'"' '/my_key/{print $4}'

Если я правильно понимаю, оно применяется "в качестве моего разделителя, затем сопоставляя строку, содержащую my_key, затем печатая требуемую позицию в строке на основе разделителя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...