Awk

Como pular a primeira linha de um arquivo usando 'awk'

Como pular a primeira linha de um arquivo usando 'awk'

Existem vários usos para o comando 'awk' no Linux. Por exemplo, pode ser usado para imprimir o conteúdo de um arquivo de texto. A primeira linha de muitos arquivos de texto contém o título do arquivo e, às vezes, a primeira linha deve ser ignorada ao imprimir o conteúdo do arquivo. Neste tutorial, mostraremos como realizar essa tarefa usando o comando 'awk'.

Crie um arquivo de texto

Para acompanhar este tutorial, crie um arquivo de texto delimitado por tabulação denominado lista de livros.TXT com o seguinte conteúdo. Este arquivo contém uma lista de livros com seus autores correspondentes. Neste tutorial, mostraremos como imprimir diferentes partes deste arquivo após pular a primeira linha.

Cibersegurança com bash Paul Troncone, Carl Albing
Linha de comando Kung Fu Jason Cannon
Travis Booth da linha de comando do Linux
Bash em etapas fáceis Mike McGrath
Unix em etapas fáceis Mike McGrath

Exemplo 1: pule a primeira linha de um arquivo usando NR e o operador '>'

A variável NR indica o número de registros em um arquivo. O seguinte comando 'awk' usa a variável NR para pular a primeira linha de um arquivo. O valor de NR é 1 para a primeira linha. O seguinte comando irá imprimir linhas para as quais o valor NR é maior que 1.

lista de livros de $ cat.TXT
Lista de livros $ awk '(NR> 1)'.TXT

A seguinte saída será produzida após a execução dos comandos acima. A saída inclui todas as linhas, exceto a primeira linha do arquivo.

Exemplo 2: pule a primeira linha usando NR e o '!= 'operador

O seguinte comando 'awk' é semelhante ao do exemplo anterior. No entanto, o '!= 'operador de comparação é usado aqui em vez de'> '.

lista de livros de $ cat.TXT
$ awk 'NR!= 1 'lista de livros.TXT

A seguinte saída será produzida após a execução dos comandos acima. A saída mostra todas as linhas além da primeira linha do arquivo.

Exemplo 3: pule a primeira linha de um arquivo usando uma declaração condicional

O seguinte comando 'awk' irá imprimir as linhas do arquivo se a instrução if for verdadeira. Aqui, a declaração if será verdadeira apenas quando o valor NR não for igual a 1.

lista de livros de $ cat.TXT
$ awk 'if (NR!= 1) print 'lista de livros.TXT

A seguinte saída será produzida após a execução dos comandos acima. A saída inclui todas as linhas exceto a primeira linha do arquivo.

Exemplo 4: imprima os nomes dos livros do arquivo, mas pule a primeira linha

Dois comandos 'awk' são usados ​​neste exemplo para imprimir todos os nomes de livros exceto o primeiro. O comando 'awk' lerá a primeira coluna do arquivo com base no separador de campo (\ t) e enviará a saída para o segundo comando 'awk'. O segundo comando 'awk' irá imprimir a saída desejada.

lista de livros de $ cat.TXT
$ awk -F "\ t" 'print $ 1' lista de livros.txt | awk 'NR!= 1 impressão '

A seguinte saída será produzida após a execução dos comandos acima. A saída mostra todos os nomes dos livros, exceto o do primeiro livro.

Exemplo 5: formatar o conteúdo do arquivo após pular a primeira linha

A opção '-F', a variável NR e a função printf são usadas no seguinte comando 'awk' para gerar saída formatada após pular a primeira linha. O comando dividirá o conteúdo do arquivo em colunas com base em \ t, e printf imprimirá a primeira e a segunda colunas quando o valor NR for pelo menos 2.

lista de livros de $ cat.TXT
$ awk -F '\ t' 'NR> = 2 printf "% 30s% 20s \ n", $ 1, $ 2' lista de livros.TXT

A seguinte saída será produzida após a execução dos comandos acima. A saída mostra o conteúdo formatado do arquivo, excluindo a primeira linha do arquivo.

Exemplo 6: Imprima os nomes dos livros após pular a primeira linha usando NR e NF

O seguinte comando 'awk' usa a opção '-F' e NR e NF para imprimir os nomes dos livros após pular o primeiro livro. A opção '-F' é ​​usada para separar o conteúdo do arquivo com base em \ t. NR é usado para pular a primeira linha e NF é usado para imprimir apenas a primeira coluna.

lista de livros de $ cat.TXT
$ awk -F '\ t' 'NR> 1 && NF = 1' lista de livros.TXT

A seguinte saída será produzida após a execução dos comandos acima. A saída inclui todos os nomes de livros no arquivo, exceto para o do primeiro livro.

Exemplo 7: imprima os nomes dos autores formatados após pular a primeira linha

O seguinte comando 'awk' usa a opção '-F' e uma instrução condicional para imprimir os nomes dos autores após pular a primeira linha. Aqui, o valor NR é usado na condição if. Aqui, “Nome do autor: \ n \ n” será impresso como a primeira linha em vez do conteúdo da primeira linha. Os nomes dos autores do arquivo serão impressos para os demais valores da NR.

lista de livros de $ cat.TXT
$ awk -F '\ t' 'if (NR == 1) printf "\ nNome do autor: \ n \ n"; else printf "% s \ n", lista de livros $ 2 '.TXT

A seguinte saída será produzida após a execução dos comandos acima. A saída mostra o texto “Nome do autor:” com uma nova linha e todos os nomes dos autores são impressos, exceto o primeiro.

Conclusão

A primeira linha de um arquivo pode ser ignorada usando vários comandos do Linux. Conforme mostrado neste tutorial, existem diferentes maneiras de pular a primeira linha de um arquivo usando o comando 'awk'. Notavelmente, a variável NR do comando 'awk' pode ser usada para pular a primeira linha de qualquer arquivo.

OpenTTD vs Simutrans
Criar sua própria simulação de transporte pode ser divertido, relaxante e extremamente atraente. É por isso que você precisa ter certeza de experiment...
Tutorial OpenTTD
OpenTTD é um dos jogos de simulação de negócios mais populares que existem. Neste jogo, você precisa criar um maravilhoso negócio de transporte. No en...
SuperTuxKart para Linux
SuperTuxKart é um ótimo título projetado para trazer a você a experiência Mario Kart gratuitamente em seu sistema Linux. É bastante desafiador e diver...