
Я работаю сУзлы Apache Geode, вся работа выполняется через Linux CLI. Обычно, когда я редактирую файлы конфигурации (с помощью VIM), текст выглядит так:
"nodes": {"long_UUID_here": {"node_uuid": "another_long_string_here", pair_uuid:" null,
"is_admin_node": false, "ip_address": "ip-or-fqnd.domain.com", "preferred_addresses": {},
"node_name": shortname.domain.com", "membership_state": null, "region": null}
...и это толькоодинnode. Их часто несколько, и текст просто весь свален в кучу, и его трудно читать. Это было бы намного проще, если бы я мог просматривать и редактировать файл следующим образом:
"nodes": {
"long_UUID_here": {
"node_uuid": "another_long_string_here",
"pair_uuid:" null,
"is_admin_node": false,
"ip_address": "ip-or-fqnd.domain.com",
"preferred_addresses": {},
"node_name": shortname.domain.com",
"membership_state": null,
"region": null
}
Я знаю, что это возможно, и я видел это раньше, но я не знаю, как это делается.
Обновление: должен отметить, что это устройство SLES (часто без доступа к Интернету), поэтомуЯ не могу установить ни одно приложение., такой какjq
решение1
Мой коллега из DevOps показал мне, как это сделать с помощью sed
+ regEx + json.tool
:
`echo sed -nre "/clusterMembership/ s/^[^']+'([^']+)','([^']+)'.*/\2/p" /path/to/file/here/node.file.config | python -m json.tool