grep --before-context 5 zeigt 5 Zeilen vor dem Spiel.
Ich möchte alles vor dem Spiel zeigen.
Mache grep --before-context 99999999 würde funktionieren, ist aber nicht sehr… professionell.
Wie kann ich die gesamte Datei bis zur Übereinstimmung anzeigen?
Akzeptierte Antwort:
Dafür ist Sed besser geeignet.
Mach einfach:
sed '/PATTERN/q' FILE
So funktioniert es:
Für jede Zeile schauen wir, ob sie mit /PATTERN übereinstimmt :
- wenn ja, drucken wir es und beenden
- ansonsten drucken wir es
Dies ist die effizienteste Lösung, denn sobald es PATTERN sieht , es hört auf. Ohne q , sed würde weiterhin den Rest der Datei lesen und nichts damit machen. Bei großen Dateien kann es einen Unterschied machen.
Dieser Trick kann auch verwendet werden, um head zu emulieren :
sed 10q FILE