Ich habe eine Reihe von Dateien, die Komma getrennte Felder haben und ich bin auf Redhat Linux. Ich bin die Ausführung der folgenden awk Befehl wie folgt aus:Intervall regulärer Ausdruck in awk funktioniert nicht wie erwartet
awk --re-interval -F "," '$4~/xyz:8080\/proxyval\/getPages.do\?fd=1d[0-9]{1}/ { print }' *
204:1,204,null,xyz:8080/proxyval/getPages.do?fd=1d7d7 ----> dont expect to see this
204:1,204,null,xyz:8080/proxyval/getPages.do?fd=1d8
204:1,204,null,xyz:8080/proxyval/getPages.do?fd=1d8d8 ----> dont expect to see this
204:1,204,null,xyz:8080/proxyval/getPages.do?fd=1d3
Der fd=1d[0-9]{1}
Teil regxp sollte nur fd=1d8
fd=1d3
passen, aber es scheint auch fd=1d7d7
und ‚fd = 1d8d8‘ übereinstimmen. Bitte lass es mich wissen, wenn ich hier etwas verpasse.
Vielen Dank im Voraus Grüße
Wenn Sie das '--re-interval' Flag benötigen, um RE Intervalle zu aktivieren, dann benutzen Sie eine extrem alte Version von gawk, erhalten Sie eine neue. Außerdem ist '{print}' die Standardaktion bei einer echten Bedingung, Sie müssen sie nicht explizit schreiben. –