Compare as datas em uma lista

1

Portanto, tenho uma lista de datas e preciso desenvolver um script que mantenha uma contagem contínua de quantas datas são mais antigas que 14 dias ( date --date="14 days ago" +%Y%m%d ). Não sei como posso verificar a data através de um arquivo. A maioria das pesquisas que eu encontrei me mostra como chegar aos timestamps, o que não é o que estou tentando realizar.

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
    
por n00bi3 23.06.2016 / 17:22

1 resposta

4

Supondo que há um arquivo chamado dates contendo a lista de datas, uma por linha (e nada mais), algo como isso pode funcionar para contar os mais antigos que 14 dias:

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

(Dado que eles estão no formato yyyymmdd , a comparação é fácil.)

    
por 23.06.2016 / 17:42