Usando awk
, preciso encontrar uma palavra em um arquivo que corresponda a um padrão regex.
Desejo apenas imprimir a palavra que corresponde ao padrão.
Então, se estiver na linha, tenho:
xxx yyy zzz
E padrão:
/yyy/
Eu quero apenas obter:
yyy
EDIT: graças ao kurumi consegui escrever algo assim:
awk '{
for(i=1; i<=NF; i++) {
tmp=match($i, /[0-9]..?.?[^A-Za-z0-9]/)
if(tmp) {
print $i
}
}
}' $1
e isso é o que eu precisava :) muito obrigado!
tmp=match($i, /regexp);if(tmp){}
, você só deve ser capaz de fazer if(tmp ~ $i){}
porque ~
significa "corresponde ao regexp".