Leser: 30
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
#!/usr/bin/perl my $file = "/home/user/ip"; my $zeile; my @inhalt; #print"IP Adress:\n"; #$ersetze = <STDIN>; open(DATEI,"+<$file"); @inhalt=<DATEI>; close(DATEI); my $suchwort ="test4"; for($i = 0; $i < @inhalt; $i ++) { my $pos = index($inhalt[$i], $suchwort); if($pos > -1){ my $nextword = index($inhalt[$i], ' ', ($pos + length($suchwort))) -13; my $ip = substr($inhalt[$i], $nextword); @array=split(/#/,$ip); $erster=shift(@array); print $ip; exit; } }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
#! /usr/bin/perl -i.bak use strict; use warnings; # diese Skript legt von angegebenen Datei(en) jeweils eine Kopie an # (mit Erweiterung .bak; siehe perldoc perlrun; -i.bak) # definiere die Strings, nach denen wir suchen # und womit wir ersetzen wollen # um die IP vom Schema der entsprechenden Zeile zu trennen, nutzen # wir hier sprintf(); (siehe: perldoc -f sprintf; ) ;ansonsten: # my $gesucht = 'IP="144.144.144.144"'; # my $ersetze = 'IP="222.222.222.222"'; my $gesucht = sprintf( 'IP="%s"', '144.144.144.144' ); # aendere IP, nach der gesucht wird my $ersetze = sprintf( 'IP="%s"', '222.222.222.222' ); # aendere IP, mit der ersetzt wird # Lese zeilenweise aus Datei(en) while ( <> ) { # suche/ersetze fuer jede Zeile s{^\Q$gesucht\E}{$ersetze}; # gebe die Zeile wieder aus print; } __END__
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
#! /usr/bin/perl -i.bak use strict; use warnings; # diese Skript legt von angegebenen Datei(en) jeweils eine Kopie an # (mit Erweiterung .bak; siehe perldoc perlrun; -i.bak) # definiere die Strings, nach denen wir suchen # und womit wir ersetzen wollen # um die IP vom Schema der entsprechenden Zeile zu trennen, nutzen # wir hier sprintf(); (siehe: perldoc -f sprintf; ) ;ansonsten: # my $gesucht = 'IP="144.144.144.144"'; # my $ersetze = 'IP="222.222.222.222"'; my $gesucht = sprintf( 'IP="%s"', '144.144.144.144' ); # aendere IP, nach der gesucht wird my $ersetze = sprintf( 'IP="%s"', '222.222.222.222' ); # aendere IP, mit der ersetzt wird # Lese zeilenweise aus Datei(en) while ( <> ) { # suche/ersetze fuer jede Zeile s{^\Q$gesucht\E}{$ersetze}; # gebe die Zeile wieder aus print; } __END__
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
#!/usr/bin/perl -i.bak use strict; use warnings; #print"Bitte alte IP eingeben\n"; #my $ip = <STDIN>; print"Bitte neue IP eingeben\n"; my $newip = <STDIN>; my $gesucht = sprintf( 'BBGEN="%s"', '144.144.144.144' ); my $ersetze = sprintf( 'BBGEN="%s"', $newip ); while ( <> ) { # suche/ersetze fuer jede Zeile s{^\Q$gesucht\E}{$ersetze}; print; }
1 2
my $gesucht = sprintf( 'BBGEN="%s"', $ip); my $ersetze = sprintf( 'BBGEN="%s"', $newip );
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
#!/usr/bin/perl -i.bak use strict; use warnings; print"Bitte alte IP eingeben\n"; chomp( my $ip = <STDIN> ); print"Bitte neue IP eingeben\n"; chomp( my $newip = <STDIN> ); my $gesucht = sprintf( 'BBGEN="%s"', $ip ); my $ersetze = sprintf( 'BBGEN="%s"', $newip ); while ( <> ) { # suche/ersetze fuer jede Zeile s{^\Q$gesucht\E}{$ersetze}; print; }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
#!/usr/bin/perl -i.bak use strict; use warnings; if (@ARGV < 3) { die "Benutzung: $0 <alteip> <neueip> <datei1> [<datei2> ...]\n"; } my $ip = shift; my $newip = shift; while ( <> ) { # suche/ersetze fuer jede Zeile s{^BBGEN="\Q$ip\E"}{BBGEN="$newip"}; print; }