Bash:
Робота з YAML

Як це зробити:

Пряма робота з YAML у Bash вимагає деякої винахідливості, оскільки Bash не має вбудованої підтримки для аналізу YAML. Однак, ви можете використовувати зовнішні інструменти, як-от yq (легкий і портативний командний процесор YAML), для ефективної взаємодії з файлами YAML. Давайте розглянемо деякі загальні операції:

Встановлення yq:

Перш ніж зануритися у приклади, переконайтеся, що у вас встановлено yq. Зазвичай його можна встановити з вашого менеджера пакетів, наприклад, на Ubuntu:

sudo apt-get install yq

Або ви можете завантажити його безпосередньо з його репозиторію на GitHub.

Читання значення:

Припустимо, у вас є файл під назвою config.yaml з таким вмістом:

database:
  host: localhost
  port: 5432
user:
  name: admin
  password: secret

Для читання хоста бази даних, ви можете використовувати yq наступним чином:

yq e '.database.host' config.yaml

Приклад виводу:

localhost

Оновлення значення:

Щоб оновити ім’я користувача у config.yaml, використовуйте команду yq eval з опцією -i (в місці):

yq e '.user.name = "newadmin"' -i config.yaml

Перевірте зміну з:

yq e '.user.name' config.yaml

Приклад виводу:

newadmin

Додавання нового елемента:

Щоб додати новий елемент у секцію бази даних, наприклад, нове поле timeout:

yq e '.database.timeout = 30' -i config.yaml

Перевірка вмісту файлу підтвердить додавання.

Видалення елемента:

Щоб видалити пароль під користувачем:

yq e 'del(.user.password)' -i config.yaml

Ця операція видалить поле пароля з конфігурації.

Пам’ятайте, yq - це потужний інструмент і має багато інших можливостей, включаючи конвертацію YAML в JSON, злиття файлів і навіть більш складні маніпуляції. Зверніться до документації yq для подальшого вивчення.