Assumindo que você quer a diferença em dias, então se você tem o GNU awk ( gawk
) você poderia fazer algo como
gawk -F, '
{
split($3,a,"/");
split($4,b,"/");
t1 = mktime(sprintf("%d %d %d 0 0 0 0",a[3],a[1],a[2]));
t2 = mktime(sprintf("%d %d %d 0 0 0 0",b[3],b[1],b[2]));
print (t2-t1)/86400
}
' filename
260
308
-1886
-1683
-1501
O argumento mktime
precisa ser uma string com o formato "YYYY MM DD HH MM SS [DST]"
; definir o sinalizador opcional DST
como zero diz para ignorar o horário de verão (caso contrário, a divisão ingênua por 86400 resultará em dias fracionários).
Veja Gawk: Programação Efetiva de AWK, 9.1.5 Funções de Horário