Comparação de data e hora no awk

2

Considerando o arquivo abaixo, como posso comparar dois timestamps, observando que a parte do tempo é insignificante.

foo,boo,2038-01-18T12:00:00+02:00
foo,boo,2015-09-12T01:31:24+03:00
foo,boo,2015-08-04T03:15:38+03:00

Tentei processar substring da data usando o código abaixo e compará-lo com outras datas , por exemplo: 2015-08-12

awk -F, '{$3=substr($3,1,10)}{if($3<2015-08-12){print $0}}'

Mas isso não funcionou.

Saída desejada:

foo,boo,2015-08-04T03:15:38+03:00

OR:

foo,boo,2015-08-04
    
por Eng7 12.08.2015 / 16:41

1 resposta

6

Você precisa duplicar a data para forçar a comparação de strings:

$ awk -F, '$3 < "2015-08-12"' <file
foo,boo,2015-08-04T03:15:38+03:00
    
por 12.08.2015 / 16:50