
msoliver
(usa Debian)
Enviado em 10/11/2018 - 21:05h
mepedspdla escreveu:
Pessoal Boa noite! Uma ajuda Por favor
Como posso efetuar a subtracao de horas em awk em arquivo.txt , gerando um novo campo em um novo arq.txt :
Assim :
Extracao 08:00:00 08:10:00
Compensa 09:00:00 10:25:00
Ficar assim :
Extracao 08:00:00 08:10:00 00:10:00
Compensa 09:00:00 10:25:00 01:25:00
Muito Obrigado!
Vlw
Boa noite.
Segue sugestão:
data=$(printf "%(%Y %m %d)T")
while read -r line;do
echo -n "$line";
sed -r "s/[ ]/\,$data /2;s/[A-Za-z]+/$data/;s/:/ /g" <<< "$line"|awk -F, '{d2=mktime($2);d1=mktime($1);printf " %s\n" ,(d2-d1)/60" Min";}';
done<file.txt
Extracao 08:00:00 08:10:00 10 Min
Compensa 09:00:00 10:25:00 85 Min
Ou
awk '{gsub(/[:]/," ",$2);gsub(/[:]/," ",$3);A="2018 11 10 "$2;B="2018 11 10 "$3;d2=mktime(B);d1=mktime(A);print $1" "$2" "$3" Dif: "(d2-d1)/60,"Min";}' file.txt |sed 's/ /:/2;s/ /:/2;s/ /:/3;s/ /:/3'
Extracao 08:00:00 08:10:00 Dif: 10 Min
Compensa 09:00:00 10:25:00 Dif: 85 Min
Obs.;
A diferença é fornecida em minutos.
Att.:
Marcelo Oliver