Datei filtern und Zeilennummern anzeigen

28/02/2009 - 13:41 von Thomas Wiedmann | Report spam
Hallo,

wie kann man eine Datei nach einem Suchmuster, z. B. mit grep, filtern und
dabei von den Zeilen, in denen das Suchmuster vorkommt, die Zeilennummern
anzeigen?

Der Versuch, das mit
less -N afile | grep searchpattern
zu erreichen, scheiterte, da ich hierbei zwar die gefilterten Zeilen
erhielt, aber ohne Zeilennummern.

Ich möchte aber gerne beides, filtern und Zeilennumern angezeigt bekommen
(Fall 1).

Der Idealfall (Fall 2) wàre eine Befehlskonstruktion, mit der ich sowohl
eine Datei nach einem bestimmten Suchmuster filtern kann
und zusàtzlich zu jeder Trefferzeile m Zeilen davor und n Zeilen danach noch
mit anzeigen lassen kann - die Blöcke getrennt durch eine Trennzeile --.


Musterergebnis:

Zeile davor
Zeile davor
Zeile davor
Trefferzeile
Zeile danach
Zeile danach
Zeile danach
Zeile danach
Zeile davor
Zeile davor
Zeile davor
Trefferzeile
Zeile danach
Zeile danach
Zeile danach
Zeile danach
Zeile davor
Zeile davor
Zeile davor
Trefferzeile
Zeile danach
Zeile danach
Zeile danach
Zeile danach

Làßt sich so was per Shellskript realisieren?


Thomas Wiedmann
 

Lesen sie die antworten

#1 Cyrus Kriticos
28/02/2009 - 13:56 | Warnen spam
Thomas Wiedmann wrote:
Hallo,

wie kann man eine Datei nach einem Suchmuster, z. B. mit grep, filtern
und dabei von den Zeilen, in denen das Suchmuster vorkommt, die
Zeilennummern anzeigen?

Der Versuch, das mit
less -N afile | grep searchpattern
zu erreichen, scheiterte, da ich hierbei zwar die gefilterten Zeilen
erhielt, aber ohne Zeilennummern.

Ich möchte aber gerne beides, filtern und Zeilennumern angezeigt
bekommen (Fall 1).



# GNU grep:
grep -n searchpattern afile

Der Idealfall (Fall 2) wàre eine Befehlskonstruktion, mit der ich sowohl
eine Datei nach einem bestimmten Suchmuster filtern kann
und zusàtzlich zu jeder Trefferzeile m Zeilen davor und n Zeilen danach
noch mit anzeigen lassen kann - die Blöcke getrennt durch eine
Trennzeile --.


Musterergebnis:

Zeile davor
Zeile davor
Zeile davor
Trefferzeile
Zeile danach
Zeile danach
Zeile danach
Zeile danach
Zeile davor
Zeile davor
Trefferzeile
Zeile danach
Zeile danach
Zeile danach
Zeile danach
Zeile davor
Zeile davor
Trefferzeile
Zeile danach
Zeile danach
Zeile danach
Zeile danach
Làßt sich so was per Shellskript realisieren?



# GNU grep:
grep -n -A 3 -B 3 searchpattern afile

Best regards | Monica Lewinsky's X-Boyfriend's
Cyrus | Wife for President

Ähnliche fragen