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

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

Existem vários usos do comando 'awk' no Linux. Por exemplo, ele 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 esta tarefa usando o comando 'awk'.

Crie um arquivo de texto

Para acompanhar este tutorial, crie um arquivo de texto delimitado por guia nomeado 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 depois de pular a primeira linha.

Segurança cibernética com Bash Paul Troncone, Carl Albing
Linha de comando kung fu jason canhão
Cabine de linha de comando linux travis
BASH EM PASSOS FÁCIL Mike McGrath
Unix em etapa passos 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 comando a seguir imprimirá linhas para as quais o valor da NR é maior que 1.

Lista de livros de gato.TXT
$ awk '(nr> 1)' Lista de livros.TXT

A saída a seguir será produzida após a execução dos comandos acima. A saída inclui todas as linhas que não sejam 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 '!= 'O operador de comparação é usado aqui em vez de'> '.

Lista de livros de gato.TXT
$ awk 'nr!= 1 'Livro de livros.TXT

A saída a seguir será produzida após a execução dos comandos acima. A saída mostra todas as linhas que não sejam a primeira linha do arquivo.

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

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

Lista de livros de gato.TXT
$ awk 'if (nr!= 1) print 'Lista de livros.TXT

A saída a seguir 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 do livro 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' imprimirá a saída desejada.

Lista de livros de gato.TXT
$ awk -f "\ t" 'print $ 1' list.txt | Awk 'nr!= 1 print '

A saída a seguir 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: Formate o conteúdo do arquivo depois de pular a primeira linha

A opção '-f', a variável NR e a função Printf são usadas no comando 'awk' a seguir para gerar saída formatada depois de pular a primeira linha. O comando dividirá o conteúdo do arquivo em colunas com base em \ t, e printf imprimirá as primeiras e as segundas colunas quando o valor da NR for pelo menos 2.

Lista de livros de gato.TXT
$ awk -f '\ t' 'nr> = 2 printf " %30s %20s \ n", $ 1, $ 2' Lista de livros.TXT

A saída a seguir 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 do livro depois de 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 depois de pular o primeiro livro. A opção '-f' é usada para separar o conteúdo da base de arquivos em \ t. NR é usado para pular a primeira linha e a NF é usada para imprimir apenas a primeira coluna.

Lista de livros de gato.TXT
$ awk -f '\ t' 'nr> 1 && nf = 1' Lista de livros.TXT

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

Exemplo 7: Imprima os nomes formatados dos autores depois de pular a primeira linha

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

Lista de livros de gato.TXT
$ awk -f '\ t' 'if (nr == 1) printf "\ Nauthor Nome: \ n \ n"; else printf "%s \ n", $ 2 'list.TXT

A saída a seguir 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 Linux. Como mostrado neste tutorial, existem diferentes maneiras de pular a primeira linha de um arquivo usando o comando 'awk'. Nonomavelmente, a variável NR do comando 'awk' pode ser usada para pular a primeira linha de qualquer arquivo.