[linux-l] Re: Regex Frage

Jan-Benedict Glaw jbglaw at lug-owl.de
Fr Feb 17 23:02:54 CET 2006


On Fri, 2006-02-17 22:33:50 +0100, JSC <belug at jsc.no-ip.org> wrote:
> On Fri, Feb 17, 2006 at 10:19:44PM +0100, Jan-Benedict Glaw wrote:
> > Nein, Deine Anforderung war vermutlich zu schwammig definiert. Was
> > suchst Du? 'def' am Ende eines Wortes? 'def' als freistehendes Wort?
> > 'def' am Ende eines Wortes, aber der Teil davor darf (irgendwas
> > bestimmtes) nicht sein?
> > 
> ein bestimmter string "def" in einem stream soll als schaedlich erkannt
> und geblockt werden. es gibt mindestens eine ausnahme "abcdef", die
> definitiv nicht schaedlich ist und daher nicht matchen darf.
> 
> ein match auf wortanfang/wortende ist im stream nicht sinnvoll nutzbar.
> 
> eigentlich waren alle anforderungen in der urspruenglichen frage drin.

"Eigentlich" as in: nicht. Das hätte so aussehen können:

	Ich möchte alle Zeilen wegwerfen, die irgendwo 'def'
	beinhalten (nicht notwendigerweise am Wort- oder Zeilen-Anfang
	oder -Ende), außer, wenn vor 'def' noch eine feste Menge von
	Buchstaben/Prefixen kommt. Also z.B.

	"abcdef", "foodef" und "sdfiusdef" seien okay, aber alle
	anderen Zeilen, die "def" beinhalten, sollen verworfen werden.

Aus dem Stand fällt mir allerdings auch nicht ein, wie man das mit
einem grep-Aufruf erledigen kann. Wenn's ein Mehrzeiler auch tut:

echo -e "foodef\nbardef\nbazdef\ndef\nfoo" | \
	while IFS=$'\n' read ZEILE; do
		echo "${ZEILE}" | grep -q 'foodef' && echo "${ZEILE}" && continue
		echo "${ZEILE}" | grep -q 'bardef' && echo "${ZEILE}" && continue
		echo "${ZEILE}" | grep -q -v 'def' && echo "$ZEILE"
	done

"foodef" und "bardef" werden akzeptiert, alle anderen "def"-Varianten
ignoriert.

MfG, JBG

-- 
Jan-Benedict Glaw       jbglaw at lug-owl.de    . +49-172-7608481             _ O _
"Eine Freie Meinung in  einem Freien Kopf    | Gegen Zensur | Gegen Krieg  _ _ O
 für einen Freien Staat voll Freier Bürger"  | im Internet! |   im Irak!   O O O
ret = do_actions((curr | FREE_SPEECH) & ~(NEW_COPYRIGHT_LAW | DRM | TCPA));
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : signature.asc
Dateityp    : application/pgp-signature
Dateigröße  : 189 bytes
Beschreibung: Digital signature
URL         : <https://mlists.in-berlin.de/pipermail/linux-l-mlists.in-berlin.de/attachments/20060217/d07c0774/attachment.sig>


Mehr Informationen über die Mailingliste linux-l