Hallo David, besten Dank für Deine schnelle und geniale Antwort! Am 01.03.2014 um 19:09 schrieb David Haller <dnh@opensuse.org>:
ich möchte aus vielen Dateien bestimmte Zeilen filtern.
zB.: `grep -e 'Stelle1' -e 'Stelle2' -e 'Stelle3' *.ext`
Allerdings brauche ich von 'Stelle2' auch die nachfolgende Zeile. Mit -A1 bekomme ich jedoch von _allen_ Fundstellen die nachfolgende Zeile mit. Wie könnte ich das vernünftig lösen?
Vergiss grep.
for f in *.ext; do sed -n \ -e '/Stelle1/p; /Stelle2/ { p; n; p; } /Stelle3/p; ' "$f“ done
Prima: "opensuse 13.1 x86_64“ (sed 4.2.2) alles OK! In OSX (Mavericks) geht das nicht ohne: LC_CTYPE=C && LANG=C && (script oder cl) sonst kommt: "sed: RE error: illegal byte sequence Mit einem „i“ kann ich gleich noch eine Leerzeile einfügen: /Stelle2/ { p; n; p; i } /Stelle3/p; Nun ist alles OK und sieht auch noch gut aus! Besten Dank! MfG Th. Moritz -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org