Bash Command aus Perl absetzen
Moin,
mein Problem liegt glaube ich im Detail, aber ich habe leider keine Lösung finden könnten.
Ich habe ein Perl –Script, mit welchem ich eine Text Datei auswerte und die Ergebnisse, alle mit demselben Muster in eine neue Datei Schreibe. Nachdem das Passiert ist, sind leider von den 50.000 Zeilen ca. 100 die nicht Exakt dem Muster entsprechen und die beste Lösung und vor allem eine sehr schnelle ist für mich ein egrep, welches ich in 1min zusammen geschrieben hatte. Ich schaffe es jedoch nicht, dieses aus dem Perl - Skript aufzurufen.
system("less sqls.txt | egrep '([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})(,\[)(.*)(\],)([0-9]{4,10})' > out.txt");
Das Statement nimmt die sqls.txt, welche durch das Perl Skript erstellt wurde, nudelt ein egrep drüber und schreibt das in die out.txt.
Mit der Out möchte ich dann im Skript weiter arbeiten.
Also kurz, wie schaffe ich es das er das Bash Statement ausführt?
Viele Grüße
Maveric
mein Problem liegt glaube ich im Detail, aber ich habe leider keine Lösung finden könnten.
Ich habe ein Perl –Script, mit welchem ich eine Text Datei auswerte und die Ergebnisse, alle mit demselben Muster in eine neue Datei Schreibe. Nachdem das Passiert ist, sind leider von den 50.000 Zeilen ca. 100 die nicht Exakt dem Muster entsprechen und die beste Lösung und vor allem eine sehr schnelle ist für mich ein egrep, welches ich in 1min zusammen geschrieben hatte. Ich schaffe es jedoch nicht, dieses aus dem Perl - Skript aufzurufen.
system("less sqls.txt | egrep '([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})(,\[)(.*)(\],)([0-9]{4,10})' > out.txt");
Das Statement nimmt die sqls.txt, welche durch das Perl Skript erstellt wurde, nudelt ein egrep drüber und schreibt das in die out.txt.
Mit der Out möchte ich dann im Skript weiter arbeiten.
Also kurz, wie schaffe ich es das er das Bash Statement ausführt?
Viele Grüße
Maveric
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 196838
Url: https://administrator.de/contentid/196838
Ausgedruckt am: 26.11.2024 um 11:11 Uhr
6 Kommentare
Neuester Kommentar
Hi,
ich habe hier auch ein Perl script wo ich einen Bash aufruf mache. Ich habe auch hin und her probiert und dann am ende einfach ein 2. sh script erstellt was ich über System aufrufe, ist denke ich zwar nicht die eleganteste Lösung aber es klappt super
PERL...
system("SOWIESO.sh")== 0 or die "Bash Script failed";
PERL...
SOWIESO.sh
"CAT" sqls.txt | egrep '([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})(,\[)(.*)(\],)([0-9]{4,10})' > out.txt
würde hier ein cat nehmen anstatt less (glaube liegt einfach eher nur an der gewonheit)
probiers einfach mal so aus.
ich habe hier auch ein Perl script wo ich einen Bash aufruf mache. Ich habe auch hin und her probiert und dann am ende einfach ein 2. sh script erstellt was ich über System aufrufe, ist denke ich zwar nicht die eleganteste Lösung aber es klappt super
PERL...
system("SOWIESO.sh")== 0 or die "Bash Script failed";
PERL...
SOWIESO.sh
"CAT" sqls.txt | egrep '([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})(,\[)(.*)(\],)([0-9]{4,10})' > out.txt
würde hier ein cat nehmen anstatt less (glaube liegt einfach eher nur an der gewonheit)
probiers einfach mal so aus.