Christoph Zurnieden: grep - Syntax

Beitrag lesen

Hallo,

Wie ist die korrekte Syntax, wenn ich mit grep pruefen will ob folgender String in einder Datei enthalten ist?

news/artikel.asp?id=XXXXXXXX&rubrik=YYYYYYY&etag=ZZZZZZZZZ

XXXXXXXXX steht fuer eine Zahl
YYYYYYYYY steht fuer eine Zeichenkette
ZZZZZZZZZ ist ein Datum im Format 'tt.mm.jj'

Wie sind in diesem Fall die Platzhalter zu machen.
Die Laenge der Platzhalter sind unbestimmt.

bash-2.02$ cat testdoc
biscken blabla biscken blabla biscken blabla biscken blabla
biscken blabla biscken blabla biscken blabla biscken blabla
blablanews/artikel.asp?id=123456789&rubrik=bar-rubrik&etag=12.34.56blabla
news/artikel.asp?id=123456789&rubrik=bar-rubrik&etag=12.34.56
news/artikel.asp?id=123456789&rubrik=bar-rubrik&etag=12.4.56
news/artikel.asp?id=123456789&rubrik=bar-rubrik&etag=12/34/56
news/artikel.asp?id=A23456789&rubrik=bar-rubrik&etag=12.34.56
news/artikel.asp?id=123456789&rubrik=bar-rubrik-blabla&etag=12.34.56
news/artikelasp?id=123456789&rubrik=bar-rubrik-blabla&etag=12.34.56
biscken blabla biscken blabla biscken blabla biscken blabla
biscken blabla biscken blabla biscken blabla biscken blabla
bash-2.02$ cat testdoc | grep  '^news/artikel.asp?id=[0-9]*&rubrik=[0-9a-zA-Z-]*&etag=[0-9]{1,2}.[0-9]{1,2}.[0-9]{1,2}$'
news/artikel.asp?id=123456789&rubrik=bar-rubrik&etag=12.34.56
news/artikel.asp?id=123456789&rubrik=bar-rubrik&etag=12.4.56
news/artikel.asp?id=123456789&rubrik=bar-rubrik-blabla&etag=12.34.56
bash-2.02# grep --version
grep (GNU grep) 2.2

Copyright (C) 1988, 92, 93, 94, 95, 96, 97 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Ist ein wahrscheinlich eetwas komplizierter als nötig und nicht ganz so flexibel, wie vielleicht gewünscht. Rest ist für Dich, siehe auch
'man grep'
und
'man 7 regex'

so short

Christoph Zurnieden