我尝试使用jq从一个json对象中获取一个数组,我需要删除这个数组的最后三个元素,这就是我目前所做的:
jq
echo '{ "tags": [ "2.9.7", "2.9.8", "2.9.9", "2.9.10", "2.9.11", "2.9.12" ]}' | jq -r '.tags | sort[:3][]'
给我2.9.10 2.9.11 2.9.12,但需要反过来。这些值应该被删除,所以结果应该是:
2.9.10 2.9.11 2.9.12
2.9.7 2.9.8 2.9.9
68bkxrlz1#
从倒数第三个元素[-3开始索引计数器,直到:]结束:
[-3
:]
… | jq -r '.tags | sort[-3:][]'
但是,当你在这里对字符串进行排序时要注意,2.9.12将排在2.9.7之前,如果你想按版本号对数组进行排序(结构如图所示),在点处将它们拆分成数组,将项转换成数字,然后按版本号排序:一个二个一个一个
2.9.12
2.9.7
1条答案
按热度按时间68bkxrlz1#
从倒数第三个元素
[-3
开始索引计数器,直到:]
结束:但是,当你在这里对字符串进行排序时要注意,
2.9.12
将排在2.9.7
之前,如果你想按版本号对数组进行排序(结构如图所示),在点处将它们拆分成数组,将项转换成数字,然后按版本号排序:一个二个一个一个