Re: regex fuer zwei Begriffe mit UND Verknuepfung

From: Marc Santhoff <M.Santhoff(at)t-online.de>
Date: Fri, 10 Feb 2006 15:40:59 +0100

Am Freitag, den 10.02.2006, 15:29 +0100 schrieb Dominik Brettnacher:
> On Fri, 10 Feb 2006, Marc Santhoff wrote:
>
> > tut's nicht, es wird nur nach der gesamten Zeichenkette gesucht. Und die
> > manpage erschließt sich mir nicht wirklich, speziell zum Thema
> > kombinieren steht nur wenig drin. Mit "|" erreiche ich eine
> > ODER-Verknüpfung, aber UND?
>
> Formal geprochen ist UND nicht das, was Du suchst: eine Zeichenkette kann
> ja nicht auf zwei verschiedene Muster passen (außer, wenn die durch die
> Muster beschriebenen Zeichenketten eine nichtleere Schnittmenge haben).

Stimmt natürlich, eigentlich müßte man zwei grep's benutzen mit jedem
Begriff und die Resultate des einen dem anderen als Suchdateimenge
übergeben ...

> Was Du aber auf jeden Fall machen kannst ist sowas wie
>
> "(Begriff1.*Begriff2|Begriff2.*Begriff1)"
>
> Also intuitiv gesprochen: entweder Begriff2 folgt auf Begriff1 oder
> umgekehrt.
>
> Hilfts?

Nö, kleiner Test ergab kein Resultat:

$ echo "murks lala murmel" > 1.grep
$ echo "murks murmel" > 2.grep
$ grep -E "murks murmel" *.grep
2.grep:murks murmel
$ grep -E "( murks.*murmel | murmel.*murks )" *.grep
$

Macht nix, wenigstens weiß ich jetzt, daß grep das falsche Werkzeug
dafür ist und grüble nicht mehr, wie ich es formulieren müßte. ;)

Danke,
Marc

To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Fri 10 Feb 2006 - 15:43:10 CET

search this site