Comando awk do Linux: analisa ficheiros
O comando awk permite-lhe explorar ficheiros e realizar determinadas 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 programação. O awk foi criado em 1977 e o seu nome faz referência aos seus três criadores: Alfred Aho, Peter Weinberger e Brian Kernighan. O comando awk é uma ferramenta utilizada a partir da linha de comandos ou de um SSH (Secure Shell). Além disso, funciona de forma semelhante ao comando grep do Linux, uma vez que permite procurar determinados padrões nos ficheiros e, em determinadas circunstâncias, modificá-los automaticamente com base em parâmetros predefinidos.
Como funciona o comando awk?
O awk utiliza uma combinação de condições e instruções. Quando o comando awk é executado num ficheiro especí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 satisfazem a condição. Se o comando awk não tiver nenhuma condição predefinida, a instrução é executada em todas as linhas do ficheiro. Se o comando awk não tiver nenhuma instrução predefinida, é 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]shellQuais 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 predefinido é o espaço.
- -f [nome do ficheiro]: especifica 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 continentes. O ficheiro tem o seguinte aspeto:
Ciudad País Continente
Berlín Alemania Europa
París Francia Europa
Hanoi Vietnam Asia
Abuja Nigeria ÁfricashellUtilize o seguinte comando para visualizar o ficheiro na íntegra:
$ awk "{print $0}" ejemplo.txtshellA situação torna-se mais interessante se pretender mostrar apenas determinadas colunas. No exemplo a seguir, mostramos a primeira e a terceira colunas:
$ awk "{print $1, $3}" ejemplo.txtshellO resultado obtido é o seguinte:
Berlín Europa
París Europa
Hanoi Asia
Abuja Áfricashell