I am trying to put an awk command in ssh, for example:
ERRCOUNT=`ssh -n $HOST "ps -ef | grep .job | grep -v grep | grep -v alert_jobs_still_running |wc -l"`
From korn shell prompt this works:
awk '/^Jul 12 16/ {print $0}' /u01/app/oracle/jobs/adhoc/test.dat | wc -l
My data file: /u01/app/oracle/jobs/adhoc/test.dat:
Jul 12 16:13:59 spu76 fctl: [ID 517869 scsi.warning] WARNING: fp(1)::1e0a00 NS failure pkt state=dreason=9, expln=1, NSCMD=0112, NSRSP=8001
Jul 14 11:13:59 spu76 fctl: [ID 517869 scsi.warning] WARNING: fp(1)::GPN_ID for D_ID=1e0200 failed
Jul 12 17:43:59 spu76 fctl: [ID 517869 kern.warning] WARNING: fp(1)::N_x Port with D_ID=1e0200, PWWN=202200a0b8482ab8 disappeared from fabric
Jul 12 14:13:59 spu76 fctl: [ID 517869 kern.warning] WARNING: fp(0)::140a00 NS failure pkt state=dreason=9, expln=1, NSCMD=0112, NSRSP=8001
In a script test2.bat:
#!/bin/ksh
AWKCOUNT=0
HOST=spu76
echo "Plain SSH"
ssh -n $HOST "awk '/^Jul 12 16/ {print $0}' /u01/app/oracle/jobs/adhoc/test.dat"
echo "AWKCOUNT"
AWKCOUNT=`ssh -n $HOST "awk '/^Jul 12 16/ {print $0}' /u01/app/oracle/jobs/adhoc/test.dat | wc -l"`
I get errors:
(oracle@spu76) /u01/app/oracle/jobs/adhoc > ./test2.bat
Plain SSH
awk: syntax error near line 1
awk: illegal statement near line 1
AWKCOUNT
awk: syntax error near line 1
awk: illegal statement near line 1
(oracle@spu76) /u01/app/oracle/jobs/adhoc >
Ultimately, I want to run this awk statement using ssh:
test4.bat:
#!/bin/ksh
MONTH=`date | awk '{print $2}'`
DAY=`date '+%d`
HOUR=`date +"%H"`
echo "MON: $MONTH DAY: $DAY HOUR: $HOUR"
AWKCOUNT=0
AWKCOUNT=`awk -F: '/^'"$MONTH $DAY $HOUR"'/ {print $0} ' /u01/app/oracle/jobs/adhoc/test.dat | awk -F" " '/scsi/ {print $0}' | wc -l`
echo "AWKCOUNT is $AWKCOUNT"
Output:
(oracle@spu76) /u01/app/oracle/jobs/adhoc > ./test4.bat
MON: Jul DAY: 14 HOUR: 11
AWKCOUNT is 1
I have tried many variation of single and double quotes, and escaping characters. Any assistance would be appreciated!
Diane