如何解决YQ / JQ特殊字符查询转换器
我正在将yq和jq一起使用,并且据我了解,您需要“转义”引号和方括号中的特殊字符。 我想使用纯点语法.cars.big-trucks查询数据,但找不到任何可以为我进行转换的工具。
我的理想用法是:
query=$(jq-query-convert ".cars.big-trucks")
yq -r $query cars.yaml
有什么想法吗?谢谢
示例yaml文件:
%YAML 1.1
---
cars:
big-trucks: 42
对于jq用户,示例json是:
{
"cars": {
"big-trucks": 42
}
}
由
查询cat cars.json | jq "$q"
解决方法
好吧,我想出了到目前为止可以满足我的意图的python3单行代码,但是如果有人知道更强大的解决方案,我很乐意接受。
python3 -c 'from sys import argv; print("." + argv[1].replace(".","\"][\"")[2:] + "\"]")' ".cars.big-trucks"
返回
。[“ cars”] [“ big-trucks]]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。