String aus Datei extrahieren

Hallo,

das ist wahrscheinlich 'ne Newbie-Frage: Wie kann ich einen bestimmten String aus einer Datei bzw. vom stdin per regulärem Ausdruck herausholen? Klar, mit grep, aber das gibt ja die gesamte Zeile zurück, in der das Match auftritt. Ich hätte aber gerne, dass, wenn man z.B. die Zeile „abcdef“ gegen „b.*e“ matcht, nur „bcde“ zurückkommt.
Achja, vielleicht kann mir noch jemand auf die Schnelle sagen, ob grep und Konsorten auch non-greedy quantifiers wie „.*?“ unterstützen?

Gruß
Chondron

das ist wahrscheinlich 'ne Newbie-Frage: Wie kann ich einen
bestimmten String aus einer Datei bzw. vom stdin per regulärem
Ausdruck herausholen? Klar, mit grep, aber das gibt ja die
gesamte Zeile zurück, in der das Match auftritt.

man grep

Such mal nach -o

Such mal nach -o

Erstmal danke für die Antwort, das hilft mir aber leider noch nicht weiter. Ich verwende die Distribution Eisfair, und da gibts wohl eine Spezialversion von grep, die mir zurückgibt: „grep: invalid option – o“
Bin für alternative Lösungen offen :smile:

Der Befehl awk macht das was du möchtest.

cu