TGViewer
LinuxCamp | DevOps LinuxCamp | DevOps @linuxcamp_tg · 13.6K subscribers
Post #409 9.34K
Быстрая работа с json и yaml прямо в терминале

Иногда нужно быстро вытащить нужный параметр из конфигурации, проверить значение в json-ответе api или подправить yaml-файл, не открывая редактор.

Делать это вручную неудобно, особенно в скриптах и автоматизации. Здесь помогают jq и yq - это лёгкие утилиты, которые умеют разбирать, фильтровать и менять данные прямо в терминале.

Установка:

jq легко ставится из стандартных репозиториев, и после этого можно сразу работать с json:


sudo apt install jq


С yq важно не путать версию на Go с устаревшей на Python, у них разные возможности. Быстрее всего взять готовый бинарник с официального репозитория:


sudo wget https://github.com/mikefarah/yq/releases/latest/download/yq_linux_amd64 -O /usr/local/bin/yq
sudo chmod +x /usr/local/bin/yq


Как использовать?

jq читает данные из файла или из пайпа, что удобно, когда работаешь с api. Например, чтобы вытащить значение поля name из json:


jq '.name' config.json


Если внутри массив, можно пройти по каждому элементу и взять только нужные значения. Такой приём часто используют для вытаскивания id:


jq '.[].id' data.json


yq делает то же самое с yaml и к тому же понимает json. Если нужно узнать, какой образ используется в docker-compose.yml:


yq '.services.app.image' docker-compose.yml


Менять файлы тоже просто, добавляем -i и задаём новое значение, например, меняем порт:


yq -i '.services.app.ports[0] = "8080:80"' docker-compose.yml


Полезно помнить, что оба инструмента можно комбинировать с grep, awk и другими утилитами, а yq умеет работать с вложенными yaml-файлами, что упрощает правку сложных конфигов kubernetes.

Вывод:

С помомью jq и yq можно автоматизировать множество рутинных задач: от чтения конфигов в ci/cd до быстрой правки параметров без открытия редактора.

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

LinuxCamp | #utils
  • 🔥 28
  • 👍 15
  • ❤ 8
  • 🥴 1
More from @linuxcamp_tg
  1. Sep 28, 2026Проекту GNU вчера исполнилось 43 года 1983 год: Ричард Столлман объявил планы разработать…
  2. Sep 25, 2026Linux будет работать на ноутах с Snapdragon X2. Qualcomm добавляет полноценную поддержку L…
  3. Sep 24, 2026Так все по делу)) Советует же самый быстрый фикс LinuxCamp | #memes
  4. Sep 23, 2026Планы на 3 октября — прийти на RWB Infra x Security Meetup Мы направим прожекторы на инфра…
  5. Sep 22, 2026Ещё одна рекордная неделя для AI-разработки в Linux. На прошлой неделе в ядро попало 1 634…
  6. Sep 17, 2026Открыл плейлист, а как выйти - непонятно 😁 LinuxCamp | #memes
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →