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, 4998 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!

Mit freundlichen Grüßen
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?


Mit freundlichen Grüßen
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!

Mit freundlichen Grüßen
Bitte warten ..
Neuester Wissensbeitrag
Festplatten, SSD, Raid

12TB written pro SSD in 2 Jahren mit RAID5 auf Hyper-VServer

Erfahrungsbericht von Lochkartenstanzer zum Thema Festplatten, SSD, Raid ...

Ähnliche Inhalte
Webbrowser
DNS Problem in Browsern - Suche in Adresszeile (5)

Frage von tobivan zum Thema Webbrowser ...

Windows Netzwerk
gelöst Problem mit PSexec64 von Sysinternals (5)

Frage von MaxMoritz6 zum Thema Windows Netzwerk ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (34)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

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

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...