AWK é uma linguagem de programação interpretada que é, geralmente, usada para deixar os scripts de shell mais poderosos e com mais
recursos. É usada mais para processar dados nos textos e operações com arquivos.
Informações gerais:
O nome tem origem na primeira letra do sobrenome de cada um dos criadores:
- Alfred Aho
- Peter Weinberger
- 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. A linha é mandada pro AWK e então algo é feito em cima
daquela linha, retornando o resultado da operação que você pediu. Portanto, acostume-se a pensar 'em linhas'.
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, as quais nós devemos a vida, inclusive 7 prêmios Nobel).
Ela é muito útil e prática, afinal, foi feita para 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.
Para 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
GNU/Linux, para que serve?
Só 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 GNU/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?

AWK tem a mesma pronúncia de Auk, uma espécie de pássaro