Parsing jq子字符串给出了;jq:错误:无法为对象为“”的字符串编制索引; 问题
我正在尝试筛选结果,以仅显示原始字符串的子字符串。例如,如果JQ筛选器捕获了该值Parsing jq子字符串给出了;jq:错误:无法为对象为“”的字符串编制索引; 问题,parsing,substring,jq,Parsing,Substring,Jq,我正在尝试筛选结果,以仅显示原始字符串的子字符串。例如,如果JQ筛选器捕获了该值 4ffceab674ea8bb5ec421c612536696839bbaccecf64e851dfc270d795ee55d1 我希望它只返回前10个字符4ffceab674 我试过的 在上,您可以找到一个示例,该示例应能满足我的需要: Command: jq '.[2:4]' Input: "abcdefghi" Output: "cd" 我尝试在unix终端中用一个简单的示例来
4ffceab674ea8bb5ec421c612536696839bbaccecf64e851dfc270d795ee55d1
我希望它只返回前10个字符4ffceab674
我试过的 在上,您可以找到一个示例,该示例应能满足我的需要:
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]'
因此,事实证明,这些过滤器中的大多数尚未发布。有关参考信息,请参阅问题 您可以下载最新的开发版本并从源代码处编译。请参阅Linux上的>源代码
在那之后,如果索引仍然不适用于字符串,那么您至少应该能够进行分解、索引、内爆组合,这似乎是您的计划。看看这个版本,我怀疑没有使用该版本的解决方案,因为它没有为字符串的外接部分提供原语。另外:jq版本是1.3,我在ubuntu trusty中运行。另外:刚刚意识到其他基本的过滤器不起作用,比如“内爆”、“爆炸”、“分裂”,我会将其标记为答案——尽管我无法安装新版本来确认substring命令是否起作用。