Ich muss einige Zahlen aus einigen Textdateien heraussuchen. Ich kann die benötigten Zeilen mit grep heraussuchen, aber ich wusste nicht, wie ich die Zahlen aus den Zeilen extrahieren kann. Ein Kollege hat mir gezeigt, wie ich das mit Bash und Perl machen kann:
cat results.txt | perl -pe 's/.+(\d\.\d+)\.\n/\1 /'
Allerdings programmiere ich normalerweise in Python, nicht in Perl. Meine Frage ist also, ob ich Python auf dieselbe Weise hätte verwenden können. D.h., hätte ich etwas von Bash nach Python pipen können und dann das Ergebnis direkt nach stdout bekommen? ... wenn das Sinn macht. Oder ist Perl in diesem Fall einfach praktischer?
1 Stimmen
Sie könnten es sich noch einmal überlegen und das gesamte Parsing in Python durchführen. Es wäre wahnsinnig einfach, die Greping von Python zu tun. Wenn Sie Probleme haben, stellen Sie einfach eine weitere Frage mit dem Wortlaut "Wie kann ich diese Zeilen in Python analysieren", und 5 Minuten später haben Sie den Code
0 Stimmen
@TJD: Stimmt. Ich werde das in Betracht ziehen.
0 Stimmen
Nachdem ich einige Antworten und Methoden geprüft habe, frage ich: Würde es funktionieren, wenn Sie nur
grep -o
die nur den übereinstimmenden Teil der Zeile ausgibt?0 Stimmen
@heltonbiker: Ich bin mir nicht sicher, ob das in meinem Fall funktionieren würde, aus verschiedenen Gründen, aber es ist sicherlich eine Überlegung wert für ein anderes Mal. Danke :)
2 Stimmen
Wie immer ist das eine nutzlose Verwendung der Katze. Siehe partmaps.org/era/unix/award.html und/oder schreiben Sie es einfach um als
perl -pe 's/.+(\d\.\d+)\.\n/\1 /' results.txt