Parabéns pelo artigo, Augusto!
Eu sempre gostei muito da linguagem AWK. É uma linguagem realmente interessante, e uma mão-na-roda para fazer scripts.
Para quem gostou da linguagem, eu gostaria de recomendar também o manual oficial do GNU awk. Trata-se de uma leitura bastante agradável.
Para atiçar a curiosidade do leitor, o GNU awk possui diversas extensões com relação ao awk padrão. Por exemplo, é possível até mesmo fazer um servidor HTTP utilizando a extensão de sockets.
As últimas versões do GNU awk podem até mesmo ser estendidas com novas funções carregadas de bibliotecas dinâmicas em C.
Embora seja uma sigla, a linguagem hoje é bem AWKward mesmo.
Fazia sentido na época do Unix original, pois era sua linguagem de script nativa. Mas foi ultrapassada ao longe por Perl/Python/Ruby em termos de recursos e facilidade sintática.
Por outro lado, tem um recurso em awk que acho que não tem em nenhuma outra: delimitar uma busca por padrões dentro de uma região textual especificada. Não me lembro da sintaxe ou switches necessários. Sim, possivelmente é possível fazer o mesmo em Perl com uma ER mais complicada, mas não da forma simples como em awk.
No contexto dos scripts para tarefas do sistema, quando é possível implementar algo em awk, há uma vantagem bem específica sobre Perl, Python, Ruby, PHP, etc., que é a portabilidade maior pelo fato de o awk fazer parte do POSIX, e assim estar presente (ao menos na forma definida no posix, que é bem mais restrita do que interpretadores modernos implementam) em todos os sistemas operacionais que aderem ao padrão, e nos que seguem parcialmente também. Até sistemas embarcados usando o busybox podem interpretar scripts awk.