Quantificadores em uma expressão regular usada com o awk se comportam de forma inesperada
Eu quero processar esta lista: (Claro que isso é apenas um trecho.)
1 S3 -> PC-8-Set
2 S3 -> PC-850-Set
3 S3 -> ANSI-Set
4 S3 -> 7-Bit-NRC
5 PC-8-Set -> S3
6 PC-850-Set -> S3
7 ANSI-Set -> S3
Foi o que eu fiz:
awk -F '[[:blank:]]+' '{printf ("%s ", $2)}' list
Isso é o que eu recebi:
1 2 3 4 5 6 7
Agora eu pensei que o quantificador+
é equivalente a{1,}
, mas quando mudei a linha para
awk -F '[[:blank:]]{1,}' '{printf ("%s ", $2)}' list
Eu tenho apenas espaços em branco e toda a linha foi lida para $ 1.
Alguém pode explicar esse comportamento por favor? Eu sou grato por todas as respostas!