учитывая следующий json, как я могу создать tsv, который бы выводил частоты найденных в нем значений (в новом элементе)?
{"_id":{"$someid":"545"},"new":"813 ROT","old":{"$someid":"5fe"}}
{"_id":{"$someid":"659889a"},"new":"9878 SU","old":{"$someid":"5bc"}}
{"_id":{"$someid":"986978754b"},"new":"813 ROT","old":{"$someid":"5bc1af"}}
желаемый вывод:
813 ROT 2
9878 SU 1
я могу извлечь значения с помощью .new, но не знаю, как их сгруппировать и создать tsv, тогда
что я пробовал:
def counter(stream): reduce stream as $s ({}; .[$s|tostring] += 1); counter(inputs | .new) | to_entries[] | {ItemId: (.key), Count: .value}
но выдает:
{
"ItemId": "9878 SU",
"Count": 1
}
{
"ItemId": "813 ROT",
"Count": 1
}
я использую версию jq, найденную в репозиториях Ubuntu 16.04