thotypous em 23/06/2008 às 11:35 am

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.

foobob (usuário não registrado) em 23/06/2008 às 12:29 pm

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.

Augusto Campos em 23/06/2008 às 12:40 pm

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.