yq - это процессор YAML на основе командной строки, который позволяет манипулировать и извлекать значения из данных YAML.
Установка yq
Загрузите последний исполняемый файл yq с GitHub:
1 | wget -qO /usr/local/bin/yq https://github.com/mikefarah/yq/releases/latest/download/yq_linux_amd64 |
Установите разрешение на выполнение для файла:
1 | chmod a+x /usr/local/bin/yq |
Теперь команда yq доступна для всех пользователей как общесистемная команда.
Мы можем проверить версию yq:
1 | yq --version |
Проверка yq
Создадим тестовый файл, со следующим содержимым
1 2 3 4 5 6 | status: success data: - name: Ivan age: 32 - name: Oleg age: 42 |
1 | printf "status: success\ndata:\n - name: Ivan\n age: 32\n - name: Oleg\n age: 42" > test.yaml |
yq использует выражение для фильтрации данных YAML. Каждая часть выражения разделяется точкой (.). Например, следующая команда печатает неизмененный YAML:
1 | yq e '.' test.yaml |
Мы можем получить определенное значение в данных YAML следующим образом:
1 | yq e '.data[1].name' test.yaml |
yq позволяет преобразовать вывод в другие форматы, к примеру преобразование файла в формат json
1 | yq e '.' test.yaml -o json |
Деинсталляция yq
Если вы решили удалить yq, просто удалите исполняемый файл:
1 | rm -rf /usr/local/bin/yq |