Ultrix-3.1/src/cmd/usat/etime.sh
egrep "\*\*\*\*\*\*|^real|^user|^sys" | \
sed s/:/\ \ /g | \
awk '
{ if (($1 == "******") && ($2 != "End")) print $0 }
{ if (($1 == "real") && ($3 == "")) { flag++;
r=r+$2;
if(r>60) {
r=r-60;
rm=rm+1;
}
} }
{ if (($1 == "real") && ($3 != "")) { flag++;
rm=rm+$2;
r=r+$3;
if(r>60) {
r=r-60;
rm=rm+1;
}
} }
{ if (($1 == "user") && ($3 == "")) { flag++;
u=u+$2;
if(u>60) {
u=u-60;
um=um+1;
}
} }
{ if (($1 == "user") && ($3 != "")) { flag++;
um=um+$2;
u=u+$3;
if(u>60) {
u=u-60;
um=um+1;
}
} }
{ if (($1 == "sys") && ($3 == "")) { flag++;
y=y+$2;
if(y>60) {
y=y-60;
ym=ym+1;
}
} }
{ if (($1 == "sys") && ($3 != "")) { flag++;
ym=ym+$2;
y=y+$3;
if(y>60) {
y=y-60;
ym=ym+1;
}
} }
{ if (($2 == "End") && (flag > 0) && ($1=="******")) {
printf("real:\t");
if (rm <=0) printf("0:");
if (rm >0) printf(rm":");
if (r<10) printf("0");
if (r<1) printf("0");
if (r==0) printf(".");
printf(r);
printf("\nuser:\t");
if (um <=0) printf("0:");
if (um >0) printf(um":");
if (u<10) printf("0");
if (u<1) printf("0");
if (u==0) printf(".");
printf(u);
printf("\nsys:\t");
if (ym <=0) printf("0:");
if (ym >0) printf(ym":");
if (y<10) printf("0");
if (y<1) printf("0");
if (y==0) printf(".");
printf(y);
r=u=y=0;
rm=um=ym=0;
flag=0;
printf("\n"); } }
{ if (($2 == "End") && ($1 == "******")) { print $0; } }
' | \
sed s/\ \ /:/g | \
sed s/:/\ \ /g | \
awk '
{ if ($1 != "******") print $0 }
{ if ($1 == "real") r=$2; }
{ if ($1 == "user") u=$2; }
{ if ($1 == "sys") y=$2; }
{ if ($1 == "******") {
if ($2 != "End") {
{ print $0 }
{ if ($5 == "-") { ha=$9; ma=$10; sa=$11; } }
{ if ($6 == "-") { ha=$10; ma=$11; sa=$12; } }
{ if ($7 == "-") { ha=$11; ma=$12; sa=$13; } }
}
if ($2 == "End") {
{ if ($5 == "-") { hb=$9; mb=$10; sb=$11; } }
{ if ($6 == "-") { hb=$10; mb=$11; sb=$12; } }
{ if ($7 == "-") { hb=$11; mb=$12; sb=$13; } }
{ if(sb>=sa) s=sb-sa; }
{ if(sb<sa) { mb=mb-1; s=sb+60-sa; } }
{ if(mb>=ma) m=mb-ma; }
{ if(mb<ma) { hb=hb-1; m=mb+60-ma; } }
{ if(hb>=ha) h=hb-ha; }
{ if(hb<ha) h=hb+24-ha; }
{ print $0 }
{ printf("\n\tTotal Elapsed Time: "); }
{ if(h<10) printf("0"); }
{ printf(h":"); }
{ if(m<10) printf("0"); }
{ printf(m":"); }
{ if(s<10) printf("0"); }
{ printf(s"\n") }
{ h=m=s=0; }
{ ha=ma=sa=0; }
{ hb=mb=sb=0; }
}
} }
' | \
sed s/\ \ /:/g