【发布时间】:2014-12-25 17:13:12
【问题描述】:
我正在尝试从 yml 文件中获取配置值,但有一行具有相同的值,但被注释掉了。那就是:
...
#database_name: prod
database_name: demo
database_user: root
database_password: password
...
我正在使用这个 sed/awk 命令获取所有值:
DATABASE_NAME=$(sed -n '/database_name/p' "$CONFIG_PATH" | awk -F' ' '{print $2}');
现在,如果我这样做,我会得到正确的用户名和密码值,但会得到双重名称。
问题是:
如何从我的 sed 选择中排除“#”个 cmets?
【问题讨论】:
-
如果您正在解析 YAML 文件,那么也许可以考虑使用 YAML 解析器:-/
-
当然,你知道命令行 yaml 解析器吗?我知道那里有很多工具......