Yq: различия между версиями

Материал из noname.com.ua
Перейти к навигацииПерейти к поиску
(Новая страница: «Категория:yq Категория:jq Категория:yaml Категория:json =yq= Заметки и рецепты по <code>js</c...»)
 
 
(не показано 6 промежуточных версий этого же участника)
Строка 7: Строка 7:
   
 
=Сравнение 2 файлов в которых ключи не сортированы=
 
=Сравнение 2 файлов в которых ключи не сортированы=
  +
==Нормализация файла==
  +
<PRE>yq --output-format yaml -i --prettyPrint 'sort_keys(..)' values_eu-lon-pc2.yml</PRE>
  +
* <code>-i</code> - редактировать in-place те будет изменен файл <code>values_eu-lon-pc2.yml</code>
  +
* <code>--prettyPrint</code> - собственно и делает нормализацию
  +
* <code>'sort_keys(..)'</code> - сортировка ключей
  +
С ключем <code>-i</code> вывод команды будет пустой но будет изменен исходный файл
  +
  +
==Сравнение==
  +
===<code>yaml</code>===
  +
<PRE>
  +
difft <(yq --prettyPrint 'sort_keys(..)' values_eu-lon-pc2.yml) <(yq --prettyPrint 'sort_keys(..)' VALUES-customisations-helm-controller-20250313-130319.yaml)
  +
</PRE>
  +
* про sort_keys : https://mikefarah.gitbook.io/yq/operators/sort-keys
  +
  +
===<code>json</code>===
  +
<PRE>
  +
difft <(jq --sort-keys < file_1.json) <(jq --sort-keys < file_2.json)
  +
</PRE>

Текущая версия на 13:25, 13 марта 2025

yq

Заметки и рецепты по js и yq что б не искать каждый раз

Сравнение 2 файлов в которых ключи не сортированы

Нормализация файла

yq --output-format yaml  -i --prettyPrint 'sort_keys(..)' values_eu-lon-pc2.yml
  • -i - редактировать in-place те будет изменен файл values_eu-lon-pc2.yml
  • --prettyPrint - собственно и делает нормализацию
  • 'sort_keys(..)' - сортировка ключей

С ключем -i вывод команды будет пустой но будет изменен исходный файл

Сравнение

yaml

difft <(yq --prettyPrint 'sort_keys(..)' values_eu-lon-pc2.yml) <(yq --prettyPrint 'sort_keys(..)' VALUES-customisations-helm-controller-20250313-130319.yaml)

json

difft <(jq --sort-keys < file_1.json) <(jq --sort-keys < file_2.json)