De acordo com o Guia do Usuário do GNU Awk: Histórico de Recursos , suporte para operadores de intervalo de expressão regular foi adicionado na versão 3.0, mas inicialmente exigida opção de linha de comando explícita
Novas opções de linha de comando:
- New command-line options:
- The --lint-old option to warn about constructs that are not available in the original Version 7 Unix version of awk (see V7/SVR3.1).
- The -m option from BWK awk. (Brian was still at Bell Laboratories at the time.) This was later removed from both his awk and from gawk.
- The --re-interval option to provide interval expressions in regexps (see Regexp Operators).
- The --traditional option was added as a better name for --compat (see Options).
Em gawk
4.0,
Interval expressions became part of default regular expressions
Como você está usando gawk
3.x, você precisará usar
awk --re-interval '/^.{4}$/'
ou
awk --posix '/^.{4}$/'
ou (obrigado @ StéphaneChazelas) se você quiser uma solução portátil, use
POSIXLY_CORRECT=anything awk '/^.{4}$/'
(porque --posix
ou --re-interval
causaria um erro em outras implementações awk
).