Usando o comando Awk para imprimir a última coluna de um arquivo

Usando o comando Awk para imprimir a última coluna de um arquivo

Às vezes vem uma situação em que não precisamos ler o arquivo completo, apenas precisamos de parte do arquivo a ser exibida. Nesta situação, tentamos encontrar algumas maneiras eficientes de obtê -las sem passar pelo conteúdo inteiro do arquivo. O comando "Awk" é o único.

O comando "Awk" é um utilitário de linha de comando usado no Linux para realizar pesquisas com diferentes padrões e para processamento. É um comando que permite que um codificador codifique linhas pequenas, mas eficientes, de código na forma de declarações que iniciam padrões de texto que são usados ​​para conduzir pesquisas em todas as partes de um documento. Portanto, também é um comando muito usado para processamento de texto.

Com a ajuda do comando "Awk", um programador pode capturar dados e peças de um texto específico com base no padrão fornecido ao comando. O comando AWK pode digitalizar e pesquisar arquivos de linha por linha, distribuir e particionar cada linha passada como entrada em campos, comparar e combinar campos com linhas de entrada e executar instruções especificadas pelo programador em linhas correspondentes. Os comandos AWK podem ser usados ​​para a produção de relatórios em formatos específicos e para alterar dados dentro dos arquivos.

Sintaxe:

A seguir, a sintaxe do comando AWK:

awk 'ação' your_file_name.TXT

Neste comando, o parâmetro "ação" na sintaxe é usado para definir a ação que nosso comando será executado. Depois disso, passaremos o nome do nosso arquivo como um parâmetro no qual vamos operar.

Exemplo não. 1:

Neste exemplo, tentaremos imprimir o enésimo ou a última coluna do arquivo usando o comando AWK. Vamos primeiro criar um novo arquivo que contenha alguns dados relacionados aos funcionários. Para criar um novo arquivo, executaremos o comando abaixo do displayed:

Linux@Linux-virtualBox: ~ funcionário do Touch.TXT

Depois de executar o comando acima, ele criará um novo arquivo em nosso diretório doméstico. Não é necessário criar um arquivo no diretório doméstico, você pode criá -lo em qualquer lugar do seu sistema. Agora, verificaremos se o arquivo é criado ou não. Para isso, simplesmente verificaremos o diretório inicial. Conforme mostrado no trecho abaixo, criamos um novo arquivo chamado funcionário.TXT.

Agora, adicionaremos algum conteúdo ao arquivo usando um bloco de notas, como mostrado no trecho abaixo. Adicionamos os dados de cinco funcionários, que incluem o nome, a designação e o salário do funcionário. Os dados são mostrados abaixo que são armazenados no arquivo “funcionário.TXT".

Salário da designação de nome
Jhone Manager $ 142
Rick Assistente $ 543
Linda Designer $ 148
Alex Proj Manager $ 342

Agora, o arquivo é criado com sucesso com o conteúdo e para obter a última coluna do arquivo usando o comando AWK. Para isso, executaremos o comando mencionado abaixo:

Linux@linux-virtualbox: ~ $ awk 'print $ nf' funcionário.TXT

No comando acima, passamos a declaração de impressão junto com a palavra -chave "$ nf", o que significa que o comando AWK instruirá o compilador a imprimir o "$ NF", que indica o enésimo campo do arquivo. O último “funcionário.txt ”é o nome do arquivo cuja última coluna será impressa. Pressionando a tecla Enter, executaremos o comando no qual a saída exibida abaixo é gerada no terminal em que o salário dos funcionários é exibido.

salário
$ 142
$ 543
$ 148
$ 342

Exemplo não. 2:

Neste exemplo, leremos a última coluna do arquivo, mas desta vez estamos usando outro método que é usado principalmente quando o número de colunas é conhecido pelo usuário. Agora, vamos primeiro criar um novo arquivo que contenha os dados de cinco alunos. Inclui o nome dos alunos, suas aulas e as notas que eles obtiveram.

Linux@linux-virtualbox: ~ $ nano estudante.TXT

Quando executamos o comando acima, ele criará um novo arquivo e o abre automaticamente em um editor de texto. Agora, adicionaremos os dados dos alunos no arquivo e pressionando "Ctrl + X". Salvaremos o arquivo depois de adicionar o conteúdo a ele. No nosso caso, adicionamos dados de cinco alunos. Ao salvar o arquivo, avançaremos em direção ao nosso objetivo principal, que é imprimir a última coluna do arquivo. Abaixo está o conteúdo do arquivo “aluno.TXT".

Nome da classe Marks
JHONE GRADEC 154
Rick Gradea 124
Linda GrauB 144
Alex Gradéia 122

Agora vamos executar o comando AWK para imprimir a última coluna do arquivo. Vamos supor que desta vez sabemos as colunas do arquivo e queremos imprimir a última coluna. Para isso, usaremos o comando AWK junto com o número da coluna que será impresso no terminal. Como sabemos que existem apenas três colunas em nosso arquivo que são o nome dos alunos, suas aulas e marcas. Para imprimir a última coluna, executaremos o comando abaixo da balança:

Linux@linux-virtualbox: ~ $ awk 'print $ 3' aluno.TXT

Neste comando, passamos "$ 3" junto com o comando de impressão, o que significa que "Awk" instruirá o compilador a imprimir a terceira coluna do arquivo chamado "Student.TXT". Quando executamos este comando, ele imprimirá a seguinte saída na qual as marcas dos alunos são impressas. Também podemos comparar a saída com o trecho de arquivo que é exibido acima. O arquivo contém apenas três colunas e a última coluna do arquivo contém as marcas dos alunos. Este comando pode ser usado para imprimir qualquer coluna do arquivo; Não é especificado apenas para imprimir a última coluna. Ao alterar o sinal "$ 3" para "$ 2", podemos imprimir a segunda coluna. Depois de executar o comando acima, teremos a saída exibida abaixo.

Marcas
154
124
144
122

Conclusão

Estudamos um comando "awk" que é amplamente usado para atingir diretamente o conteúdo do arquivo que é necessário. Em seguida, implementamos vários exemplos para ler a última coluna especificada dos arquivos usando o comando AWK. Você pode implementar mais exemplos para ter uma idéia melhor de como o comando AWK pode ser usado.