Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Problem mit system(grep) und suche

Frage Entwicklung Perl

Mitglied: samsx87

samsx87 (Level 1) - Jetzt verbinden

04.12.2007, aktualisiert 05.12.2007, 5005 Aufrufe, 4 Kommentare

Hallo Zusammen

Ich habe folgendes Problem:

Ich möchte einen Dateinamen beim Aufruf eines Perl Scriptes an das script übergeben:

perl scriptname.pl test.msg

Danach sollte das Script die angebene Datei mittels grep durchsuchen:

system("grep Received:",$ARGV[0]," > test.txt");

Das Problem ist nun, dass er zwar die Datei test.txt erstellt, diese aber leer lässt. Wenn ich den Befehl von Hand ausführe Funktioniert es (grep Received: test.msg > test.txt). Wo liegt der Fehler?

Mein zweites Problem ist, dass ich einen string nach einer IP-Addresse durchsuchen und diese dann als Variable abspeichern möchte:

Beispiel:
$test = "Received: from 12.123.234.2 (HELO host.name.com)"

if ($test =~ m/[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/) {
$ipaddress = $_;
}

Das funktioniert jedoch nicht wirklich

Für eure Hilfe bedanke ich mich bereits im voraus!

mfG
Mitglied: runlevel2
04.12.2007 um 19:23 Uhr
Hy,

schau mal, ob das bei Dir so funktioniert, wie Du es brauchst:

01.
#!/usr/bin/perl -w 
02.
 
03.
system "grep Received: $ARGV[0] > test.txt"; 
04.
 
05.
$test = "Received: from 12.123.234.2 (HELO host.name.com)"; 
06.
 
07.
if ($test =~ m/[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/) { 
08.
   my $ipaddress = $test; 
09.
   print "$ipaddress\n"; 
10.
}
Aufruf: scriptname.pl test.msg

Gruss, runlevel2
Bitte warten ..
Mitglied: samsx87
04.12.2007 um 20:04 Uhr
Hallo!

Danke für Deine Antwort!

system "grep Received: $ARGV[0] > test.txt"; <- Funktioniert! Vielen Dank!

Der Zweite Teil klappt jedoch nicht. Er gibt mir "Received: from 12.123.234.2 (HELO host.name.com)" zurück anstatt nur die IP-Adresse. Hast du noch eine andere Idee?


mfG
Bitte warten ..
Mitglied: runlevel2
05.12.2007 um 09:11 Uhr
Hy nochmal,

das mußt Du dann klammern im regulären Ausdruck. Zugreifen kannst Du im Beispiel über die Variable $1:

01.
if ($test =~ m/([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)/) { 
02.
        my $ipaddress = $1; 
03.
        print "$ipaddress\n"; 
04.
}
Müßte passen.

Siehe auch: http://perl-seiten.homepage.t-online.de/html/perl_suche2.html#abs3


Gruss, runlevel2
Bitte warten ..
Mitglied: samsx87
05.12.2007 um 14:55 Uhr
aaaaaaa Danke vielmals! Funktioniert!

mfG
Bitte warten ..
Ähnliche Inhalte
Webbrowser
DNS Problem in Browsern - Suche in Adresszeile (6)

Frage von tobivan zum Thema Webbrowser ...

Batch & Shell
gelöst Dateinamen mit Batch-Datei ändern - Problem (9)

Frage von fffffuuuuuuuhhhh zum Thema Batch & Shell ...

Debian
Squid Proxyserver - HTTPS Problem (1)

Frage von Cartman zum Thema Debian ...

Neue Wissensbeiträge
Google Android

Cyanogenmod alternative Downloadquelle

(5)

Tipp von Lochkartenstanzer zum Thema Google Android ...

Batch & Shell

Batch als Dienst bei Systemstart ohne Anmeldung ausführen

(5)

Tipp von tralveller zum Thema Batch & Shell ...

Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Statische Routen mit Shorewall, ISC-DHCP Server konfigurieren für Android Devices (24)

Frage von terminator zum Thema LAN, WAN, Wireless ...

Server
gelöst Wie erkennen, dass nur deutsche IPs Zugang zu einer Website haben? (22)

Frage von Coreknabe zum Thema Server ...

Hardware
16-20 Port POE Switch mit VLAN (16)

Frage von thomasreischer zum Thema Hardware ...

Windows Server
Exchange HyperV Prozessorlast (16)

Frage von theoberlin zum Thema Windows Server ...