У меня есть строка json в переменной bash, которая выглядит примерно так:
{
"items": [
{
"foo": null,
"timestamp": 1553703000,
"bar": 123
},
{
"foo": null,
"timestamp": 1553703200,
"bar": 456
},
{
"foo": null,
"timestamp": 1553703400,
"bar": 789
}
]
}
Я хочу знать, сколько из этих timestamp
с заданной даты и времени, поэтому, если у меня будет 1553703100
, он вернет 2
.
(Бонусные мнимые баллы, если вы можете получить мне только это число!)
В качестве шага к этому, я хочу получить только совпадения "timestamp": \d+,
в строке, чтобы я мог просмотреть их в скрипте bash.
Я немного использовал sed и grep, но никогда не использовал awk, и из моего прочтения кажется, что это может быть лучшим решением для этой задачи.
Другая информация:
- Json уже напечатан, как указано выше, поэтому временные метки всегда будут в отдельных строках.
- Это для запуска в Cygwin, поэтому у меня есть awk / gawk, sed и grep / egrep, но, вероятно, нет других.
- Может быть любое количество временных меток в JSON.