首頁 > 軟體

shyaml:在命令列下處理 YAML

2020-06-16 17:43:28

對人類而言,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

本文永久更新連結地址http://www.linuxidc.com/Linux/2016-04/130403.htm


IT145.com E-mail:sddin#qq.com