HI, I have a script attached in this mail which reads the output of rpcinfo and tokenizes its outputs. This problem is similar to my earlier posting a few days ago. However, in this scenario, the some outputs of rpcinfo response i.e. "rpcinfo: RPC: Timed out program 1073741825 version 1 is not available" overflowed to the next line. Those rpcinfo response outputs which did not overflow to the next lines are shown below e.g "program 100002 version 2 ready and waiting".
# cat weird
RPC PING pgadm1
program vers proto port service response
100002 2 udp 55733 rusersd program 100002 version 2 ready and
waiting
100008 1 udp 55734 walld program 100008 version 1 ready and
waiting
1073741825 1 udp 64018 rpcinfo: RPC: Timed out
program 1073741825 version 1 is not available
100003 2 udp 55733 sprayd program 100003 version 2 ready and
waiting
I would like to ignore those "overflowing" outputs whenever the response
does not have the status "ready and waiting". i.e. I would just like to
obtain the line:
rpcinfo:RPC:Timed out, and ignore the next line "program 1073741825 version
1 is not available".
Hence, I tried inserting a check in the script as below. It tries ignoring
the next line which does not begin with a digit. All rpcinfo outputs
produces the program number at the beginning i.e. digits.
while(<INPUT>){
print "Here ...\n";
next if(/^RPC/);
next if(/^program/);
next if(/(ready and waiting)$/);
$_=~m/^(\d+)\s+(\d+)\s+(\w+)\s+(\d+)\s+(\w+)[\s\:]+(.*)$/;
next if(/^\w+/); [CHECK INSERTED HERE]
print "prog no = $1\n";
print "version = $2\n";
...................
}
However, the output produced is shown below:
% ./file-3a.pl
/home/weird opened successfully
Here ...
Here ...
Here ...
Here ...
prog no =
version =
protocol=
port =
service =
response =
The expected output, assuming everything is correct, would have a mail
generated with the format below:
Date: Tue, 10 Jun 2003 18:48:28 +0800 (MAL)
From: ASEC - Leaw Chern Jian <[EMAIL PROTECTED]>
To: [EMAIL PROTECTED]
Subject: RPCPING OUTPUT
PROG NO VER PROTO PORT RESPONSE
1073741825 1 udp 64018
rpcinfo: RPC: Timed out
Could anyone show me where did I go wrong and the method to resolve this
problem?
ALSO, I would like to know the way which I could write the script to check
if there're completely no rows in the file which contains "ready and
waiting" , hence no mail should be generated. Could someone also show me how
could such checks be incorporated into my current script?
Thanks
<<file-3a.ZIP>>
file-3a.ZIP
Description: Zip compressed data
-- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
