python - Jq index() 未找到
问题描述
在 Mac OS Catalina(jq 版本 1.6)上执行以下 jq 命令可以正常工作:
echo $(jq '.paths | to_entries | map(select(.value[].tags | index("Tag123"))) | from_entries' custom.json)
然而在 CentOS (CentOS release 6.9 (Final)) (jq version 1.3) 上执行它会返回以下错误:
echo $(jq '.paths | to_entries | map(select(.value[].tags | index("Shell"))) | from_entries' custom.json)
error: index is not defined
.paths | to_entries | map(select(.value[].tags | index("Shell"))) | from_entries
^^^^^
1 compile error
解决方案
显然,通过 pip 安装的 jq 版本是 1.3 版(这是古代历史)或更早版本。index/1
仅在 jq 1.3 发布后作为内置过滤器引入。
如果您完全坚持使用 jq 1.3,contains/1
则可以在不需要整数索引的情况下使用。
推荐阅读
- javascript - 在 JavaScript 中下载 PDF Blob 时出现问题
- c# - 如何在按钮单击时停止 device.starttimer xamarin 表单?
- datetime - 如何在 mql4 中比较 3 个日期时间
- reactjs - 无法在本机反应中解析配置“:classpath”的所有文件
- masstransit - 代理已停止或已停止,无法创建额外的挑衅者
- php - Laravel 模型 $appends 或 $attribute 不适用于关系
- azure-active-directory - Azure AD 和订阅的 SKU 审核
- python - tensorflow.python.framework.errors_impl.InvalidArgumentError:使用输入昏暗2的索引超出范围;输入只有 2 个暗淡
- c# - 如何在 C# 中重复这个 curl 请求?
- angular - 为什么选项选择反应形式角度不起作用?