Сравните даты в списке

Сравните даты в списке

Итак, у меня есть список дат, и мне нужно разработать скрипт, который будет вести скользящий подсчет дат старше 14 дней ( date --date="14 days ago" +%Y%m%d). Не уверен, как я могу проверить дату через файл. Большинство исследований, которые я нахожу, показывают мне, как получить временные метки, а это не то, чего я пытаюсь добиться.

20160517
20160518
20160519
20160520
20160521
20160522
20160523
20160524
20160525
20160526
20160527
20160528
20160529
20160530
20160531
20160601
20160602
20160603
20160604
20160605
20160612
20160612
20160615
20160615
20160615
20160615
20160615
20160615

решение1

Предполагая, что есть файл с именем , datesсодержащий список дат, по одной в строке (и ничего больше), для подсчета дат старше 14 дней можно использовать что-то вроде этого:

$ date=$(date --date="14 days ago" +%Y%m%d)
$ awk '($0 < "'$date'") {count += 1} END {print count}'  < dates
20

(Учитывая их формат yyyymmdd, сравнение не составит труда.)

Связанный контент