Desde o início da série Awk até à Parte 12, temos escrito pequenos comandos e programas Awk na linha de comandos e em shell scripts, respectivamente.

No entanto, Awk, tal como Shell, é também uma linguagem interpretada, portanto, com tudo o que temos percorrido desde o início desta série, é agora possível escrever scripts executáveis Awk.

Similiar à forma como escrevemos um script shell, os scripts Awk começam com a linha:

#! /path/to/awk/utility -f 

Por exemplo no meu sistema, o utilitário Awk está localizado em /usr/bin/awk, portanto, eu iniciaria um script Awk da seguinte forma:

#! /usr/bin/awk -f 

Explicando a linha acima:

  1. #! – referido como Shebang, que especifica um intérprete para as instruções num script
  2. /usr/bin/awk – é o intérprete
  3. -f – opção intérprete, usado para ler um ficheiro de programa
  4. /ol>

Que, dito isto, vamos agora mergulhar em alguns exemplos de scripts executáveis Awk, podemos começar com o script simples abaixo. Use o seu editor favorito para abrir um novo ficheiro da seguinte forma:

$ vi script.awk

e cole o código abaixo no ficheiro:

#!/usr/bin/awk -f BEGIN { printf "%s\n","Writing my first Awk executable script!" }

Guardar o ficheiro e sair, depois tornar o script executável emitindo o comando abaixo:

$ chmod +x script.awk

A seguir, execute-o:

$ ./script.awk
Sample Output
Writing my first Awk executable script!

Um programador crítico lá fora deve estar a perguntar: “onde estão os comentários?”, sim, também pode incluir comentários no seu script Awk. Escrever comentários no seu código é sempre uma boa prática de programação.

Ajuda outros programadores a procurar no seu código para compreender o que está a tentar alcançar em cada secção de um script ou ficheiro de programa.

Por isso, pode incluir comentários no script acima como se segue.

#!/usr/bin/awk -f #This is how to write a comment in Awk#using the BEGIN special pattern to print a sentence BEGIN { printf "%s\n","Writing my first Awk executable script!" }

Next, veremos um exemplo em que lemos as entradas de um ficheiro. Queremos procurar um utilizador do sistema chamado aaronkilik no ficheiro de conta, /etc/passwd, depois imprimir o nome de utilizador, ID de utilizador e GID do utilizador como se segue:

Below é o conteúdo do nosso script chamado second.awk.

#! /usr/bin/awk -f #use BEGIN sepecial character to set FS built-in variableBEGIN { FS=":" }#search for username: aaronkilik and print account details /aaronkilik/ { print "Username :",$1,"User ID :",$3,"User GID :",$4 }

Guardar o ficheiro e sair, tornar o script executável e executá-lo como abaixo:

$ chmod +x second.awk$ ./second.awk /etc/passwd
Sample Output
Username : aaronkilik User ID : 1000 User GID : 1000

No último exemplo abaixo, usaremos o do enquanto declaração para imprimir números de 0-10:

Below é o conteúdo do nosso script chamado do.awk.

#! /usr/bin/awk -f #printing from 0-10 using a do while statement #do while statement BEGIN {#initialize a counterx=0do { print x; x+=1;}while(x<=10)}

Depois de guardar o ficheiro, tornar o script executável como já fizemos anteriormente. Depois, execute-o:

$ chmod +x do.awk$ ./do.awk
Sample Output
012345678910

Sumário

Chegámos ao fim desta interessante série Awk, espero que tenham aprendido muito com todas as 13 partes, como uma introdução à linguagem de programação Awk.

Como mencionei desde o início, Awk é uma linguagem de processamento de texto completa, por essa razão, pode aprender mais outros aspectos da linguagem de programação Awk, tais como variáveis ambientais, matrizes, funções (built-in & definido pelo utilizador) e mais além.

Há ainda partes adicionais de programação Awk para aprender e dominar, por isso, abaixo, forneci alguns links para recursos on-line importantes que pode utilizar para expandir as suas capacidades de programação Awk, estes não são necessariamente tudo o que precisa, pode também procurar livros úteis de programação Awk.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *