O comando awk permite-lhe explorar ficheiros e realizar de­ter­mi­na­das ações. A origem deste comando do Linux remonta a 1977.

O que é o comando awk do Linux?

O awk permite que o Linux analise e edite ficheiros na sua linguagem de script e pro­gra­ma­ção. O awk foi criado em 1977 e o seu nome faz re­fe­rên­cia aos seus três criadores: Alfred Aho, Peter Wein­ber­ger e Brian Kernighan. O comando awk é uma fer­ra­menta utilizada a partir da linha de comandos ou de um SSH (Secure Shell). Além disso, funciona de forma se­me­lhante ao comando grep do Linux, uma vez que permite procurar de­ter­mi­na­dos padrões nos ficheiros e, em de­ter­mi­na­das cir­cuns­tân­cias, modificá-los au­to­ma­ti­ca­mente com base em pa­râ­me­tros pre­de­fi­ni­dos.

Como funciona o comando awk?

O awk utiliza uma com­bi­na­ção de condições e ins­tru­ções. Quando o comando awk é executado num ficheiro es­pe­cí­fico, percorre todas as suas linhas e verifica se cada uma delas satisfaz uma condição pré-definida. A instrução do comando awk é executada em cada uma das linhas que sa­tis­fa­zem a condição. Se o comando awk não tiver nenhuma condição pre­de­fi­nida, a instrução é executada em todas as linhas do ficheiro. Se o comando awk não tiver nenhuma instrução pre­de­fi­nida, é executada a instrução padrão da linha de comandos. Ou seja, pode utilizar o awk no Linux para, por exemplo, procurar termos ou padrões dentro de ficheiros.

Como é a sintaxe do comando awk?

A sintaxe do comando awk no Linux é a seguinte:

$ awk [opción] "condición {sentencia}" [archivo obtenido]
shell

Quais são as opções do comando awk no Linux?

Existem três opções possíveis:

  • -F [Separador]: define o separador de um ficheiro. O valor pre­de­fi­nido é o espaço.
  • -f [nome do ficheiro]: es­pe­ci­fica o ficheiro no qual o comando awk deve ser executado.
  • -v: é utilizado para adicionar uma variável.

Exemplo do comando awk

Vamos dar-lhe um exemplo simples para que veja como se utiliza o comando awk e como funciona. Para isso, vamos utilizar um ficheiro chamado exemplo.txt, que contém três colunas com uma lista de cidades, países e con­ti­nen­tes. O ficheiro tem o seguinte aspeto:

Ciudad País Continente
Berlín Alemania Europa
París Francia Europa
Hanoi Vietnam Asia
Abuja Nigeria África
shell

Utilize o seguinte comando para vi­su­a­li­zar o ficheiro na íntegra:

$ awk "{print $0}" ejemplo.txt
shell

A situação torna-se mais in­te­res­sante se pretender mostrar apenas de­ter­mi­na­das colunas. No exemplo a seguir, mostramos a primeira e a terceira colunas:

$ awk "{print $1, $3}" ejemplo.txt
shell

O resultado obtido é o seguinte:

Berlín Europa
París Europa
Hanoi Asia
Abuja África
shell
Ir para o menu principal