Em expressões regulares estendidas (ERE), X{m,n}
significa X
repetido entre m
e n
vezes. O awk implementa expressões regulares estendidas, no entanto implementações históricas do awk não têm essa sintaxe de chave para intervalos repetidos. O padrão POSIX especifica que o awk deve suportar o ERE, mas muitas implementações existentes não são compatíveis.
Com o GNU awk, intervalos são suportados apenas desde a versão 4.0. Com versões mais antigas, você pode forçar o gawk a ser compatível com POSIX, configurando a variável de ambiente POSIXLY_CORRECT
para um valor não vazio:
POSIXLY_CORRECT=1 awk '{sub ("looktype=\"[0-9]{0,3}", "TEST"); print}'
A versão padrão do awk em algumas distribuições não é gawk mas sim falsa, que é menor e mais rápida. Mawk não suporta expressões de chave. Há um patch para isso , mas como o mawk não está sendo mantido, não é amplamente adotado.
Quando a contagem de repetições é pequena, você pode soletrar:
awk '{sub ("looktype=\"[0-9]?[0-9]?[0-9]?[0-9]?", "TEST"); print}'