awk: referenz auf regex

R

rikola

Foren Gott
Hallo,

wenn ich in awk mit
Code:
 awk '/wort([0-9]*)/ { ...}' dateiname
nach einem regulaeren Ausdruck suche, wie kann ich mich dann innerhalb von '...' auf den mit '\(...\)' gruppierten Ausdruck beziehen?

Bei 'sed' oder 'grep' funktioniert dies mit '\1', doch bekomme ich dann unter Debian Squeeze (gnu awk 3.1.5g) die Fehlermeldung "backslash not last character on line"

Danke

[edit]P.S.: Die Uhr auf dem Unixboard geht vor, so spaet ist es ja nun noch nicht. Laeuft dort kein ntp?[/edit]
 
Zuletzt bearbeitet:
Hi,
denke, was den backreferences von sed noch am nächsten kommen dürfte (nur in GNU-awk), ist wohl gensub(). Damit ginge z.B. wenigstens etwas wie:
Code:
awk '
        {
                found = gensub(/.*wort([0-9]*).*/, "\\1", 1, $0);
                if (found != $0) { printf "%s: <%s>\n", $0, found;  }
        }
'
Gruss, A.
 
Zurück
Oben