Ух ты, сколько нас тут много стало. Привет, кого не видел. Давай поговорим про утилиту jc. Про неё почти никто не знает, значит, самое время познакомиться.
Если коротко, то с помощью jc можно конвертировать выхлоп различных утилит в JSON-формат, а потом уже по-человечески извлекать данные.
Например, я хочу получить JSON от выхлопа iptables. Запускаю:
iptables -L | jc --iptables
И по итогу получаю годноту:
[{"chain":"INPUT","rules":[]},{"chain":"FORWARD","rules":[{"target":"DOCKER-USER","prot":"all","opt":null,"source":"anywhere","destination":"anywhere"},{"target":"DOCKER","prot":"all","opt":null,"source":"anywhere","destination":"anywhere"}..
Ну красота же. jc ограничена парсерами, но из коробки там прям на богатом всё — около 50. Crontab, CSV, ls, fstab, date, ping и т. п. Выбираешь парсер под нужную тебе задачу и получаешь готовый к работе массив данных.
Выдирать данные, само собой, будет удобно через jq: вкидываем его в пайп, пишем, какой ключ нужен, и получаем желаемое.
Установка: apt/yum install jc
Лично я jc никогда не применял, но порой встречал в скриптах. Изучай, когда-нибудь обязательно пригодится.








Комментарии