PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : awk - Variable in Regexp



bienchen
04-08-2010, 22:53
Hallo Unix-Fans,

ich komme mit awk nicht weiter, das Netz hilft auch nur beschraenkt, daher hoffe ich hier Hilfe zu finden.

Ich moechte in awk in einem regulaeren Ausdruck eine Variable verwenden, also in einem bestehenden Pattern:



my_test="Foo"
awk -v dict="$my_test" \
'{ if ( $0 !~ /^[[:space:]]M[[:space:]].+(\.tex|dict)$/)
{ print "no"; exit } }' datei


Anstelle von "dict" soll natuerlich nach "Foo" gesucht werden. Nur bekomme ich das mit dem "Entweder .tex" nicht hin...

mfg,

bienchen

bienchen
05-08-2010, 22:41
Problem geloest:



my_test="Foo"
awk -v dict="^[[:space:]]M[[:space:]].+(\.tex|${my_test})$" \
'{ if ( $0 !~ dict) { print "no"; exit } }' \
datei