Получите два значения от вывода команды в сценарии удара

Один парсер CLI json - это jshon . Вот простой пример:

$ jshon -e foo -u <<< '{ "foo":"bar" }' 
bar

Опции -e извлекают значения из json, а -u декодирует конечную строку.

1
08.11.2014, 09:54
1 ответ

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

Основной подход, с тем, что у вас есть выше, вы можете использовать awk:

awk -F"[)(, ]" '{printf "var1=%s\nvar2=%s\n", $11,$13}'      
var1=2088133.7088034691
var2=-222653.3238934391

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

Как указывает KasiyA, более надежным подходом было бы использование встроенной переменной awk NF для вычисления соответствующих полей:

awk -F"[)(, ]" '{printf "var1=%s\nvar2=%s\n", $(NF-3),$(NF-1)}'
1
27.01.2020, 23:51

Теги

Похожие вопросы