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.
O nome tem origem na primeira letra do sobrenome de cada um dos criadores: Alfred A ho, Peter W einberger e Brian K ernighan.
Esta linguagem, é considerada por muitos, um importante marco para história da programação, tendo tido bastante influência na criação de outras linguagens de programação, como, por exemplo, Perl e Python.
A flag -f diz que o comando a seguir é um programa a ser executado.
Para um programa executável, usar o /usr/bin/awk.
Exemplo, crie um arquivo world.awk com o conteúdo
Tornando este arquivo executável
Executando
Variáveis da Linguagem
Salve o arquivo caes.txt
Imprime o arquivo inteiro
Podemos usar essas variáveis dentro do comando print. Nele, sempre que colocamos uma vírgula, estamos espaçando
Saída
Saída
Com o begin, o AWK não espera por uma entrada (como digitar ENTER duas vezes), ele executa tudo daquele bloco
Saída
A única coisa que o print faz que o printf não faz, é colocar automaticamente uma nova linha ao final da string \n.
Não pode começar variáveis por dígitos, elas são case sensitivo, não devem ter o mesmo nome das variáveis do AWK, nem de outros comandos e não precisam ser inicializadas ou declaradas.
Ao usar pela primeira uma variável, ela é tanto uma string vazia(“”) como “0”, mas não é muito bom confiar seu script nesses valores iniciais.
AWK é fracamente tipado, ou seja, você pode atribuir um número a uma variável e sem seguida atribuir uma string, por exemplo.
Ex.: Salvar como “caes2.awk”
São as instruções de controle que controlam o fluxo da execução dos programas em AWK. Em AWK, elas são similares as de C, além de possuírem os mesmos loopings e interações do padrão Shell.
Elas são: if, while, for, do e similares.
Arquivo: gnu.txt
Direcionando a saída
https://pt.wikipedia.org/wiki/Awk
http://www.vivaolinux.com.br/artigo/AWK-Introducao
http://www.zago.eti.br/script/awk.html
http://www.lpic.com.br/shell/comandos/awk/print/print.pdf
http://www.staff.science.uu.nl/~oostr102/docs/nawk/nawkA4.pdf
http://www.faqs.org/faqs/computer-lang/awk/faq/
http://www.gnu.org/software/gawk/manual/gawk.html