Command-Line
如何在 Linux CLI 中以可讀格式列出括號內的文本?Apache Geode 節點名稱和資訊
我正在使用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}
…這只是一個節點。它們通常有好幾個,而文本只是全部拼湊在一起,一團糟,難以閱讀。如果我可以像這樣查看和編輯文件,這會變得更容易:
"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
DevOps 的一位同事向我展示瞭如何使用
sed
+ regEx +來做到這一點json.tool
:`echo sed -nre "/clusterMembership/ s/^[^']+'([^']+)','([^']+)'.*/\2/p" /path/to/file/here/node.file.config | python -m json.tool