Title: RE: [Perl-unix-users] Script Help Please

Try
if (/\bUP\b/ && /$server_name/)

You are not matching on $server_name as $server_name is not enclosed by the match operator. You could easily put this in a single regular expression if the position of $server_name is predictable. e.g. It alway falls after UP.

If you cannot predict where the server name falls then it will be more efficient to put the text that occurs least frequently on the left of the && as the right-hand side is only evaluated if the left-hand expression returns true.

Steve Aaron




-----Original Message-----
From: Craig Sharp [mailto:[EMAIL PROTECTED]]
Sent: Monday, November 26, 2001 12:45 PM
To: [EMAIL PROTECTED]
Cc: [EMAIL PROTECTED]
Subject: [Perl-unix-users] Script Help Please


Hi all,





I am lost.  I have the following script that opens the log file WUGEvent.log and looks for the statment "UP", replaces spaces and writes out the new log file.  It works great!





Here is the problem.  I need to read in another file (wuglist.txt) containing a list of server names and then compare each name to the line currently being processed.  Then if it matches, write the line out to a new file following the conversion.





I tried to read the server name from the file into a variable and add a && to the reg expression looking for UP but it did not work:





if (/\bUP\b/ && $server_name)





I am lost in how to setup the loop and compare.





Thanks,








Here is the script and sample log files:





#!/usr/bin/perl


#--------------------------------------------------------------------------------------


# log_convert.pl script


#--------------------------------------------------------------------------------------





open (inlogfile, "WUGEvent.log") || die "$!\n";


open (outlogfile, ">newlog.log") || die "$!\n";





  @lines = <inlogfile>;





  select outlogfile;





  foreach (@lines) {





  chomp;





  if (/\bUP\b/) {





  s/\t+/|/g;


  s/missed //g;





  print "$_\n";





  }





  }





close inlogfile;


close outlogfile;





¯------------------------------------------------------------------------------------


Sample WUGEvent.log





20011022        143423  C:\Program Files\WhatsUp\b31.wup        Alert   successful process N:roush_31 F:768 A:SMTPMail/Derrick (pager)


20011022        143430  C:\Program Files\WhatsUp\B07.wup        Alert   successful process N:roushftp1 F:768 A:SMTPMail/Craig's e-mail


20011022        143430  C:\Program Files\WhatsUp\B07.wup        Alert   successful process N:roushftp1 F:768 A:SMTPMail/Craig's pager


20011022        143430  C:\Program Files\WhatsUp\B07.wup        Alert   successful process N:roushftp1 F:768 A:SMTPMail/Dave's pager


20011022        143431  C:\Program Files\WhatsUp\B07.wup        Alert   successful process N:roushftp1 F:768 A:SMTPMail/Help Desk


20011022        143514  C:\Program Files\WhatsUp\b31.wup        UP      roush_31        10.31.1.1       missed 4


20011022        143515  C:\Program Files\WhatsUp\b31.wup        Alert   successful process N:roush_31 F:768 A:SMTPMail/Beryl (e-mail)


20011022        143515  C:\Program Files\WhatsUp\b31.wup        Alert   successful process N:roush_31 F:768 A:SMTPMail/Bethany (e-mail)


20011022        143516  C:\Program Files\WhatsUp\b31.wup        Alert   successful process N:roush_31 F:768 A:SMTPMail/Dale (e-mail)


20011022        143516  C:\Program Files\WhatsUp\b31.wup        Alert   successful process N:roush_31 F:768 A:SMTPMail/Derrick (e-mail)


20011022        143516  C:\Program Files\WhatsUp\b31.wup        Alert   successful process N:roush_31 F:768 A:SMTPMail/Help Desk


20011022        143517  C:\Program Files\WhatsUp\b31.wup        Alert   successful process N:roush_31 F:768 A:SMTPMail/Dave's pager


20011022        143517  C:\Program Files\WhatsUp\b31.wup        Alert   successful process N:roush_31 F:768 A:SMTPMail/Derrick (pager)


20011022        143524  C:\Program Files\WhatsUp\B07.wup        UP      roushftp1       208.44.92.201   missed 4


20011022        143525  C:\Program Files\WhatsUp\B07.wup        Alert   successful process N:roushftp1 F:768 A:SMTPMail/Craig's e-mail


20011022        143525  C:\Program Files\WhatsUp\B07.wup        Alert   successful process N:roushftp1 F:768 A:SMTPMail/Craig's pager


20011022        143526  C:\Program Files\WhatsUp\B07.wup        Alert   successful process N:roushftp1 F:768 A:SMTPMail/Dave's pager


20011022        143526  C:\Program Files\WhatsUp\B07.wup        Alert   successful process N:roushftp1 F:768 A:SMTPMail/Help Desk


20011022        144058  C:\Program Files\WhatsUp\B09.wup        DOWN    roush_ap        199.179.57.7    Host Unreachable








¯-------------------------------------------------------------------------------


Sample newlog.log





20010930 042501 C:\Program Files\WhatsUp\B07_NT.wup UP liv7-app1 200.1.1.18 2


20010930 042501 C:\Program Files\WhatsUp\B07_NT.wup UP liv7-app5 200.1.1.15 2


20010930 042501 C:\Program Files\WhatsUp\B07_NT.wup UP liv7-app2 200.1.1.12 2


20010930 042701 C:\Program Files\WhatsUp\B07_NT.wup UP liv-acct 200.1.1.11 3


20010930 182519 C:\Program Files\WhatsUp\b41.wup UP fsnsusan 10.41.1.1 1


20010930 182519 C:\Program Files\WhatsUp\b41.wup UP rsg01 10.41.1.10 1


20010930 182519 C:\Program Files\WhatsUp\b41.wup UP chaplin1 10.41.1.12 1


20010930 182519 C:\Program Files\WhatsUp\b41.wup UP ECOMMERC 10.41.1.11 1





¯-----------------------------------------------------------------------------


Sample wuglist.txt





machine_6


roush_app2


roush_liv7


roush_acct


roush_mail3


roush_domain


msnharry


roush_dhcp1


fs05431


roush_ap


fsnkelly


fsntammy


fsnralph


roush_31


fsnjacob








Craig A. Sharp


Unix Systems Administrator


DNS Administrator


Roush Industries


Office: 734-779-7282


Cell: 734-231-6769


Fax: 734-779-7807


[EMAIL PROTECTED]


====================================================


I have not lost my mind, it's backed up on tape somewhere!


====================================================


_______________________________________________
Perl-Unix-Users mailing list. To unsubscribe go to http://listserv.ActiveState.com/mailman/subscribe/perl-unix-users

Reply via email to