AWK, parte I: O que é e para que serve

Essa apostila / artigo / tutorial tem por objetivo apenas lhe apresentar, de uma forma não muito aprofundada, a linguagem AWK. Você poderá ver a utilidade do AWK, fará alguns exemplos simples e saberá, ao término do curso, quando o uso dessa linguagem é uma boa opção.
Tenha em mente que no ramo da Tecnologia de Informação não é possível saber/estudar tudo muito a fundo, pois são muitas coisas.
O ideal é você escolher a área que gosta e se aprofundar nela, tendo um leque de conhecimento e opções, como este curso, para futura referência.
O mais importante é saber que ferramenta usar para cada problema.

parte I: O que é e para que serve
parte II: Comandos Básicos
parte III: Variáveis
parte IV: if e Operadores de Comparação
parte V: Operações Aritméticas e Direcionamento da saída
parte VI: Loops(for & while), Funções e Considerações finais


AWK é uma linguagem de programação interpretada que é, geralmente, usada pra deixar os scripts de shell mais poderosos e com mais recursos. É usada mais pra processar dados nos textos e operações com arquivos.
O nome tem origem na primeira letra do sobrenome de cada um dos criadores: Alfred Aho, Peter Weinberger, and Brian Kernighan.

É relativamente simples e em pouco tempo é possível fazer coisas bem interessantes devido ao uso de expressões regulares e arrays associativos.

Assim como o sed, o AWK é stream-oriented, ou seja, trabalha linha por linha, que é mandada pro AWK e então algo é feito em cima daquela linha, retornando o resultado da operação naquela linha que você pediu.

Foi criada na década de 70 pela grande Bell Labs (que criou a linguagem C, a C++, o Unix, laser, transistor e várias outras coisas, a quais nós devemos a vida, inclusive 7 prêmios Nobel).

Ela é muito útil e prática, afinal foi feita pra ser usada em programas de uma linha na época do Pai Unix. Por isso podemos fazer várias coisas usando apenas meia-dúzia de comandos.

Quem já estudou C e/ou Perl (Larry se inspirou no awk) vai se sentir em casa.

Pra quem trabalha com dados e textos, nem preciso comentar o quão útil vai ser o AWK em sua vida.
Mas e se você não usa isso no trabalho, ou sequer trabalha, mas gosta do Linux, pra que serve?

Só te lembro uma coisa: os sistemas derivados do Unix são, em suma, uma grande string. Ou seja, é um texto bem grande. Pois é código aberto e praticamente tudo é arquivo de texto.
Uma distribuição do Linux tem mais de 200 milhões de linhas de código.

Logo, dominar o AWK é dominar a busca, extração, organização e substituição de informações do seu sistema. Pois não se vai atrás dos arquivos nas pastas, pois são muitos, além disso ser incômodo e chato.

Você pode achar qualquer coisa e obter informações do seu sistema com o AWK.
Sentiu o poder?




Estudando por 
Beginning Shell Scripting - Eric Foster-Johnson, John C. Welc, Micah Anderson - Wrox

Veja também: