對人類而言,YAML 是一種十分友好的數據交換格式。如果你需要在 Linux 命令行下處理 YAML,那麼不妨來使用 shyaml。
通過 shyaml,可以直接獲取鍵、值、鍵值對或對應的類型。要安裝 shyaml,只需執行以下命令即可:
pip install shyaml
因 shyaml 從標准輸入讀取 YAML 內容,並將結果打印到標准輸出,所以其一般用法為:
cat <file.yaml> | shyaml ACTION KEY [DEFAULT]
這裡的 ACTION
可以為:
get-type
:獲取相應的類型get-value
:獲取值get-values{,-0}
:對序列類型來說,獲取值列表keys{,-0}
:返回鍵列表values{,-0}
:返回值列表key-values,{,-0}
:返回鍵值對結果默認是加 \n
換行符,若用 -0
形式則以 NUL
字符填充。
KEY
為要查詢的鍵,如不提供,則使用 DEFAULT
。
例如,我們的 file.yaml 文件內容為:
--- idc_group: name: bx bx: news_bx: news_bx web3_bx: web3_php-fpm_bx
如果要獲取 idc_group.name
的值則可以執行:
cat file.yaml | shyaml get-value idc_group.name
想獲取 idc_group.bx
的鍵值對可執行:
cat file.yaml | shyaml key-values idc_group.bx
若是你想在 Linux 命令行下處理 JSON 數據格式,那麼在此我強烈推薦 jq 這個好用的工具。
jq: 從命令行處理 JSON http://www.linuxidc.com/Linux/2014-03/98041.htm
→ shyaml