Em um sistema GNU:
awk '{"date -d "$1" +%s"|getline one; "date -d "$2" +%s"|getline two; \
print $1, $2, two-one}' file.txt
-
"date -d "$1" +%s"|getline one
obtém os segundos desde a época (usando o GNUdate
) para o campo 1, salve na variávelone
-
"date -d "$2" +%s"|getline two
faz o mesmo para o campo 2 e salva o resultado como variáveltwo
-
print $1, $2, two-one
imprime o campo um, dois e subtração da variável dois e um
Exemplo:
% cat file.txt
18:37:12 18:37:31 0
18:37:01 18:37:18 0
% awk '{"date -d "$1" +%s"|getline one; "date -d "$2" +%s"|getline two; print $1, $2, two-one}' file.txt
18:37:12 18:37:31 19
18:37:01 18:37:18 17