chris@choreo.COM.COM (Chris Hare / System Manager) (03/21/90)
Hello World. (Little joke) I am in need of some help in debugging an awk script. The script works on SCO XENIX 2.3.2, but doesn't work on Motorola UNIX, which is an SVR3 implementation. I ahve included the awk script below. What I need to know is when awk reports a line number, how and when does it start counting lines. The message I get back is syntax error at or near line 141. I have marked in the script where I *think* line 141 is. Any suggestions would be appreciated. ------------------------------------------------------------ Chris Hare, Co-ordinator, Systems Management *** IT WORKS FOR ME! *** Authorized SCO Instructor Choreo Systems Inc. 500-150 Laurier Ave W. Ottawa, Ontario K1P 5J4 E-MAIL ...!choreo!chris Voice (613) 238-1050 Fax (613) 238-4453 awk 'BEGIN { print "This is the start" } { if ( PRINTED == 0 && DONE != "YES" ) { printf "START START FINISH FINISH CONNECT FILES STATUS\n" printf "DATE TIME DATE TIME TIME XFERD\n" DONE="YES" } USER=$1 DATE=$2 HRS=$3 MINS=$4 SECS=$5 PID=$6 FILES=$7 CMD=$8 CMD2=$9 CMD3=$10 CMD4=$11 STATUS="" if ( CMD == "CAN" && CMD2 == "NOT" ) { START_DATE=DATE START_HRS=HRS START_MINS=MINS START_SECS=SECS END_DAY=DATE END_HRS=HRS END_MINS=MINS END_SECS=SECS STATUS="Status - No Call" PRINT="YES" CALCULATE="YES" } if ( CMD == "NO" && CMD2 == "CALL" ) { START_DATE=DATE START_HRS=HRS START_MINS=MINS START_SECS=SECS END_DAY=DATE END_HRS=HRS END_MINS=MINS END_SECS=SECS STATUS="Retry Time has not been Reached" PRINT="YES" CALCULATE="YES" } if ( CMD == "FAILED" && CMD2 == "LOGIN" ) { START_DATE=DATE START_HRS=HRS START_MINS=MINS START_SECS=SECS END_DAY=DATE END_HRS=HRS END_MINS=MINS END_SECS=SECS STATUS="Login Failed" PRINT="YES" CALCULATE="YES" } if ( CMD == "CONN" && CMD2 == "FAILED" && CMD3 == "WRONG" ) { START_DATE=DATE START_HRS=HRS START_MINS=MINS START_SECS=SECS END_DAY=DATE END_HRS=HRS END_MINS=MINS END_SECS=SECS STATUS="Request(s) Queued" PRINT="YES" CALCULATE="YES" } if ( CMD == "CONN" && CMD2 == "FAILED" && CMD3 == "CALLER" ) { START_DATE=DATE START_HRS=HRS START_MINS=MINS START_SECS=SECS END_DAY=DATE END_HRS=HRS END_MINS=MINS END_SECS=SECS STATUS="No Connection Made" PRINT="YES" CALCULATE="YES" } if ( CMD == "SUCCEEDED" ) { START_DATE=DATE START_HRS=HRS START_MINS=MINS START_SECS=SECS CONNECTION="YES" } if ( CMD == "FAILED" && CMD2 == "conversation" && CONNECTION == "YES" ) { END_DAY=DATE END_HRS=HRS END_MINS=MINS END_SECS=SECS PRINT="YES" STATUS="Connection Made - Transfer Failed" CONNECTION="NO" CALCULATE="YES" } if ( CMD == "OK" && CMD2 == "conversation" && CONNECTION == "YES" ) { END_DAY=DATE END_HRS=HRS END_MINS=MINS END_SECS=SECS PRINT="YES" STATUS="Success" CONNECTION="NO" CALCULATE="YES" } if ( CALCULATE == "YES" ) { CON_SECS=END_SECS-START_SECS if ( CON_SECS < 0 ) CON_SECS=CON_SECS * -1 CON_MINS=END_MINS-START_MINS if ( CON_MINS < 0 ) CON_MINS=CON_MINS * -1 *** 141 ??? *** CON_HRS=END_HRS-START_HRS if ( CON_HRS < 0 ) CON_HRS=CON_HRS * -1 CALCULATE="NO" } if ( PRINT == "YES" ) { printf "%5s %02d:%02d:%02d ",START_DATE,START_HRS, START_MINS, START_SECS printf "%5s %02d:%02d:%02d ", END_DAY, END_HRS, END_MINS, END_SECS printf "%02d:%02d:%02d ", CON_HRS, CON_MINS, CON_SECS printf "%5d %s %s\n", FILES, CONNECT, STATUS PRINT="NO" PRINTED=PRINTED + 1 if ( PRINTED == 50 ) { PRINTED=0 printf "\f" DONE="NO" } } }'