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, 5013 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
Linux
gelöst URL und Username aus HTML-Datei extrahieren - sed, grep (4)

Frage von plutowitsch zum Thema Linux ...

Windows Tools
gelöst Monitoring System (tiket) System gesucht (5)

Frage von fundave3 zum Thema Windows Tools ...

Webbrowser
DNS Problem in Browsern - Suche in Adresszeile (6)

Frage von tobivan zum Thema Webbrowser ...

Server-Hardware
gelöst Fujitsu ServerView System Monitor - Software-Aktualisierungs-Problem (9)

Frage von Wild-Wolf zum Thema Server-Hardware ...

Neue Wissensbeiträge
Windows Tools

Zeit für Energiesparmodus, Bildschirmabschaltung etc. schnell anpassen

Anleitung von hannsgmaulwurf zum Thema Windows Tools ...

Linux Netzwerk

Ping und das einstellbare Bytepattern

(1)

Erfahrungsbericht von LordGurke zum Thema Linux Netzwerk ...

Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(4)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Heiß diskutierte Inhalte
Microsoft Office
Office Druck fehler (18)

Frage von DaistwasimBusch zum Thema Microsoft Office ...

Windows Server
Zertifikat am DC erneuern funktioniert nicht (13)

Frage von takvorian zum Thema Windows Server ...