对人类而言,YAML(YAML Ain't Markup Language)是一种十分友好的数据交换格式。如果你想要在命令行下处理 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