The following pipe should provide you with the output you are looking for
git log --all --since="26/03/2019" --pretty=format:"%an %ad" --date=format:'%Y-%m-%d %H:%M:%S' | process.awk MYNAME=Enrico
The script process.awk
is the following (you have to chmod +x
it, or alternatively you have to change | process.awk ...
to | awk -f process.awk ...
)
#!/usr/bin/env -S awk -f
BEGIN {
fourPM = 16*3600
}
!match($1,MYNAME) || $2 == previousDay { next }
{
previousDay = $2
split($3,previousTime,":")
oversec = previousTime[1]*3600 \
+ previousTime[2]*60 \
+ previousTime[3] \
- fourPM
if (oversec > 0) {
$(NF + 1) = "overtime: " int(oversec/3600) \
":" int((oversec % 3600)/60) \
":" int(oversec % 60)
print $0
}
}