jq substring给出" jq:error:不能用对象索引字符串"

时间:2014-05-21 03:30:47

标签: parsing substring jq

问题

我尝试过滤json JQ结果只显示原始字符串的子字符串。例如,如果JQ过滤器获得了值

4ffceab674ea8bb5ec421c612536696839bbaccecf64e851dfc270d795ee55d1

我希望它只返回前10个字符4ffceab674


我尝试了什么

Official JQ website上你可以找到一个应该给我我需要的例子:

Command:    jq '.[2:4]'

Input:      "abcdefghi"
Output:     "cd"

我试图在unix终端中用一个简单的例子来测试它:

# this works fine, => "abcdefghi"
echo '"abcdefghi"' | jq '.'

# this doesn't work => jq: error: Cannot index string with object
echo '"abcdefghi"' | jq '.[2:4]'

2 个答案:

答案 0 :(得分:1)

因此,事实证明,大多数这些过滤器尚未发布。有关参考,请参阅问题#289

您可以做的是下载最新的开发版本并从源代码编译。见download page>来自Linux上的来源

之后,如果索引仍然不适用于字符串,那么至少应该能够进行爆炸,索引,内爆组合,这似乎是你的计划。

答案 1 :(得分:0)

查看jq-1.3 manual我怀疑没有使用该版本的解决方案,因为它没有提供用于获取字符串部分的基元。