Programek pod linuxem - asi trochu OT

Jan Fuchs fuky na seif.cz
Pondělí Říjen 13 00:12:00 CEST 2003


Dobrý den,
podle mě není dobrý nápad číst IP z /var/log/message

> Zvladnul by nekdo udelat script (v libovolnem linuxovem nastroji vcetne
> perlu, pythonu ..?)

--- SCRIPT ---
#!/usr/bin/perl

$infile = "./soubor.conf.bak";
$outfile = "./soubor.conf";

system("cp $outfile $infile");

open INPUT, "<$infile" or die "$infile nelze otevřít: $!";
open OUTPUT, ">$outfile" or die "$outfile nelze otevřít: $!";

while(<INPUT>) {
  $_ =~ s/^($ARGV[0]) (\S+)$/$1 $ARGV[1]/;
  $_ =~ s/^(\S+ \S+ $ARGV[0] \S+ \S+ $ARGV[0]) (\S+) (\S+)$/$1 $ARGV[1] $3/;
  print OUTPUT $_;
}

close INPUT;
close OUTPUT;
--- SCRIPT ---

Script má dva argumenty pocitac IP
\S+ libovolná skupina znaků mimo bílých, min. jeden znak

--- soubor.conf ---
pocitac 255.255.255.255
arg arg pocitac arg arg pocitac 255.255.255.255 arg
arg arg jiny_pc arg arg jiny_pc 125.125.125.125 arg
--- soubor.conf ---

V Perlu neprogramuju, jen jsem rychle mrknul na jeho syntaxi a
zkusil vyřešit váš problém, takže to jde určitě napsat elegantněji...

           S pozdravem Fuky

-- 

/************* GNU.CZ Linux.CZ Debian.CZ ***************
 * WWW.Seif.CZ
 *******************************************************
 * Žádný program není bezchybný, dokonalý ani nejlepší,
 * to samé platí i o lidech a nejen o nich.
 *                                   -- Jan Fuchs --
 *******************************************************/


Další informace o konferenci Linux