Introdução com Gawk
Se você estiver usando as mais recentes versões do Linux, o GAWK deve ser instalado por padrão. Você pode verificar verificando sua versão.
Existem diferentes maneiras de usar Gawk. As funcionalidades comuns são as seguintes:
A sintaxe básica para Gawk é:
$ GAWK [Posix / GNU Style Options] -f Program_file [ -] Arquivo
$ GAWK [Posix / GNU Style Options] [ -] 'Program' Arquivo…
Para usar Gawk, você usa o -f opção para especificar um arquivo de script ou especificar o script na linha de comando diretamente.
Existem três opções importantes a serem observadas ao usar o GAWK:
1. -F arquivo, -File = arquivo: Usado quando você deseja usar Gawk e ler comandos de um arquivo. O arquivo é o script.
2. -v var = val, -assign = var = val: Usado quando você precisa atribuir um valor a uma variável antes de executar um script.
3. -F fs, -Field -Separator = fs: O valor da variável predefinido FS é usado como separador para o campo de entrada.
Variáveis internas
Gawk oferece variáveis embutidas, como:
FS: Usado ao dividir arquivos e contém o caractere do separador de campo.
RS: Contém o separador atual de caracteres.
OFS: Contém o separador de campo de saída que separa os campos que impressam.
NF: O número de campos para o registro de entrada é armazenado na NF.
Ors: Contém o separador de campo de saída que separa as linhas de saída impressas por Awk.
Nr: Contém o número total de linhas de entrada.
No exemplo anterior, usamos * como o separador para as linhas de entrada no arquivo.
Exemplo de uso de Gawk
1. -F
Para classificar um arquivo de texto e imprimir os três primeiros campos separados pelo cólon, use o seguinte comando. Observe que usamos o Passwd Como nosso arquivo aqui:
$ gawk -f: 'print $ 1; imprimir $ 2; imprimir $ 3 ' /etc /passwd
Aqui, nosso separador é um cólon cheio. Como queremos os três primeiros campos, você os especifica como mostrado no exemplo anterior. Você pode ajustá -lo e usar um separador diferente e um número diferente de campos.
2. -f
Para especificar a fonte do programa AWK de um arquivo, use o sinalizador -f seguido pelo arquivo:
$ gawk -f: -f file1.txt /etc /passwd
3. Impressão do conteúdo de um arquivo
Usando Gawk em um arquivo imprime todas as linhas de dados no arquivo.
4. Trabalhando com padrões
Você também pode usar Gawk e imprimir apenas as linhas que correspondem a um determinado padrão. Por exemplo, para imprimir uma linha contendo uma palavra específica, no nosso caso, a palavra é Kim, O comando seria:
$ gawk '/ kim/ print' nome de arquivo
Aqui, o padrão também pode ser um personagem. Por exemplo, para imprimir todas as linhas que contêm um cólon, o comando seria como na imagem a seguir:
Você também pode especificar as linhas específicas para imprimir. Por exemplo, para imprimir as linhas que contêm caracteres específicos, como maiores que 6, a sintaxe é:
$ GAWK 'Comprimento ($ 0)> 6' nome de arquivo
5. Dividindo linhas em campos
Gawk, por padrão, imprime todos os campos ao imprimir linhas em um arquivo. No entanto, você pode especificar qual campo imprimir. O primeiro campo é armazenado no $ 1 e toda a linha é representada como $ 0. Por padrão, toda a linha é impressa, a menos que você especifique para separar os campos com base no espaço em branco.
Por exemplo, para separar as linhas e imprimir apenas o segundo campo de cada linha, o comando seria:
$ gawk 'print $ 2' nome de arquivo
Para adicionar os números de linha, adicione o Nr variável.
O novo comando seria:
$ gawk 'print nr, $ 2' nome de arquivo
6. Obtenha o número de linhas
Pode ser necessário obter o número total de linhas para arquivos grandes, e você pode conseguir isso usando a seguinte sintaxe:
$ Gawk 'end print nr' nome de arquivo
Conclusão
Saber usar o Gawk no Linux é divertido e útil, especialmente ao lidar com dados de texto. Você pode usar os diferentes padrões para extrair e manipular as linhas de dados. Felizmente, os exemplos abordados neste artigo oferecem uma vantagem e abre os olhos usando o GAWK para diferentes atividades.