Use o operador ~
regex-match
if ($i ~ /^[[:upper:]][[:upper:]][[:digit:]][[:digit:]]/)
Isso é possível para condições precisas na declaração "if"? Vamos dar um exemplo do meu post anterior (a propósito, a variável "k" é complicada, obrigado terdon;)) e dizer que eu estou procurando por $ i que começa a partir de duas letras maiúsculas, depois disso temos 2 dígitos, outros letras / dígitos não são importantes e o comprimento da palavra que estou procurando não é constante (no exemplo: AB12asdf ou HR56Ame4).
awk '{k=0; for (i=1;i<=NF;i++){
if ($i=="ABC"){print $(i-2); k++} } if(k==0){print "No ABC in line",NR} }' file.txt
Obrigado,
lucas
Tags awk