Ich mache gerade ein Skript, das die nächsten Abfahrten von einer U-Bahn Haltestelle direkt an mir zeigen wird.Verwenden von Regexes, um Linien zwischen zwei Strings zu entfernen
Ich habe ein Muster (\b\d$|Westbound)
, die die Zeilennummer und Richtung erfassen wird. Wie aber entfernt man die Linien dazwischen? Nach etwas zu suchen hat mir dafür keine Ergebnisse gebracht.
die Ausgabe vor:
5
Ringen via Storo
12 min
Eastbound
4
Vestli via Storo
16:10
Westbound
5
Vestli via Majorstuen
16:11
Eastbound
5
Ringen via Majorstuen
16:12
Westbound
Im Format:
Line
Name of line
Time
Direction
Die Frage ist, gibt es eine Möglichkeit, mit sed, dass ich gehen alle Zeilen herausfiltern können, sagen wir, in Richtung Westen, so dass die einzigen gedruckten Linien wären:
5
Ringen via Storo
12 min
Eastbound
5
Vestli via Majorstuen
16:11
Eastbound
Dies jedes Segment Text entfernen würde bedeuten, dass wi beginnt th und endet mit Westbound. Ist dies mit Regexes und eingebauten Tools in bash möglich, oder wäre es besser, einen Workaround für dieses Problem zu finden?
Vielen Dank im Voraus!
Okay, so dass Sie ziemlich gut wissen, was Sie tun wollen, schlage ich vor, dass Sie tatsächlich versuchen, es zu tun. StackOverflow ist nicht der Ort, an dem Leute Programme für Sie implementieren, es ist der Ort, an dem Sie das Programm implementieren und die Leute helfen Ihnen, wenn Sie eine bestimmte Frage haben. – Tomalak
Wird die obige Ausgabe von einem Skript erzeugt, das _you_ geschrieben hat? Wenn ja, warum nicht das Skript ändern? – redneb
Regex könnte hier Teil der Lösung sein, aber ich denke, dass Sie ein zusätzliches Werkzeug benötigen, um jeden Absatz einzulesen und zu verarbeiten. Vielleicht kann sed dies tun, Java und C# sicherlich können. –