[MEGOLDVA]awk nem ismeri a regexp or operátort?

ha szűrök például:
ntpdc -n -c monlist|awk '/^[^a-zA-Z]/ {print substr ($0, 1, 14)}'

akkor a lista tartalmazza a "remote IP"-at viszont ha bővítem a regexp feltételt:
ntpdc -n -c monlist|awk '/^[^=+]|^[^a-zA-Z]/ {print substr ($0, 1, 14)}'

akkor a "remote address" string és a " ==== " karakterek is szerepelnek a listában. persze használhatok grep-t meg perl-t de nem hiszem h az awk ezt nem tudja.

próbátam ezt is:
/^\=|^[^a-zA-Z]/
de így sem szedi ki az egyenlőség jeleket.

mit csinálok rosszul?

Hozzászólások

Ha ezt kiprobalod, megvalaszolja az elso kerdesed: awk '/^aaa|^bbb/ {print "foo"}'

Ranezesre ez a resz mindig teljesul: ^[^=+]|^[^a-zA-Z]

----------------------
"ONE OF THESE DAYS I'M GOING TO CUT YOU INTO LITTLE PIECES!!!$E$%#$#%^*^"
--> YouTube csatornám

pont ez az. miért?

a [^...] a negálás, szóval nem értem. kezdődik nem egyenlőségjellel, vagy kezdődik nem betűvel.

ez sem működik:
ntpdc -n -c monlist|awk '/[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}/ {print}'
--
A legértékesebb idő a pillanat amelyben élsz.
https://sites.google.com/site/jupiter2005ster/


 ntpdc -n -c monlist|awk '/^[^a-zA-Z|^=]/ {print substr ($0, 1, 14)}'

Bár nem értem miért nem egyszerű azt vizsgálni, hogy számmal kezdődik-e :)

/^[^=+]|^[^a-zA-Z]/

Szerintem ezzel azt mondtad neki, hogy
amennyiben nem =-vel kezdődik vagy amennyiben nem betűvel kezdődik.

Ha belegondolsz ez mindig igaz, mert nem kezdődhet egyszerre betűvel és egyenlővel is (akkor lenne hamis). :)

Így pl a tied is jó:


ntpdc -n -c monlist|awk '/^[^=+]/ && /^[^a-zA-Z]/ {print substr ($0, 1, 14)}'

Egyébként a vagy nem is igazán kell bele:


ntpdc -n -c monlist|awk '/^[^a-zA-Z=]/ {print substr ($0, 1, 14)}'