O que é nr embutido awk?

O que é nr embutido awk?
Awk é uma linguagem de script muito poderosa que pode ser usada diretamente do terminal Linux. Funciona passando comandos nos quais seu sistema opera. Essa linguagem de script possui uma variedade de diferentes variáveis ​​especiais internas, e o objetivo deste artigo é falar sobre uma dessas variáveis ​​especiais seguidas por seu uso. Essa variável é chamada de "nr". Vamos explorar ainda mais como podemos usar essa variável em Awk.

O que é nr embutido awk?

"NR" é uma variável embutida especial de AWK que significa "Número de registros". Esta variável é usada para lidar com o número de registros presentes nos arquivos especificados.

Exemplos de uso de nr embutido awk no Ubuntu 20.04:

Para saber mais sobre o uso do NR embutido AWK, você terá que passar pelos seguintes exemplos que foram implementados em um Ubuntu 20.04 Sistema. No entanto, antes de falar sobre esses exemplos, gostaríamos de compartilhar com você o arquivo de texto de amostra que criamos em nosso diretório doméstico nomeado nomes.TXT. Este arquivo contém os nomes de alguns indivíduos, seguidos por suas respectivas idades. Usaremos o mesmo arquivo de texto para demonstrar todos os quatro exemplos. Este arquivo de texto é o seguinte:

Exemplo # 1: Exibindo números de linha com os registros em um arquivo de texto:

Neste exemplo, queremos exibir todos os registros do nosso arquivo de texto de destino para que cada registro seja atribuído com um número de linha específico após uma ordem ascendente. Você teria notado acima que o arquivo de texto que estamos usando continha alguns registros, mas eles estavam sem nenhum número de linha. Além disso, os registros aqui se referem às linhas distintas de texto presentes em um arquivo de texto. Por exemplo, se um arquivo de texto tiver cinco linhas diferentes, diremos que ele tem cinco registros diferentes. Para possibilitar a declaração acima mencionada, eu.e., Exibir números de linha, juntamente com os registros de nosso arquivo de texto de destino, executaremos o seguinte comando em nosso terminal:

$ awk 'print nr, $ 0' nomes.TXT

Neste comando, a palavra -chave "AWK" dirá ao nosso sistema que estamos tentando executar um comando usando a linguagem de script de Awk. Em seguida, temos um comando "impressão" seguido pela palavra -chave "nr" e na variável especial "$ 0". Agora, esta parte do comando servirá ao objetivo de exibir números de linha junto com os registros presentes em nosso arquivo de texto de destino. Por fim, fornecemos o nome do nosso arquivo de texto de destino neste comando para que ele possa ser lido facilmente. Nós executamos este comando simplesmente pressionando a tecla Enter.

Você pode ver facilmente no terminal que, como resultado da execução deste comando, o conteúdo do nosso arquivo de texto de destino, i i.e., Todos os registros do nosso arquivo de texto foram exibidos junto com seus respectivos números de linha, como mostrado na imagem abaixo:

Exemplo # 2: Exibindo os registros de um arquivo de texto situado dentro de um intervalo especificado:

Às vezes, você não deseja que todos os registros do arquivo sejam exibidos ou processados ​​ainda mais; Em vez disso, você só deseja usar os registros que estão dentro de um intervalo especificado. Portanto, neste exemplo, queremos que todos os registros de arquivo de texto de destino sejam exibidos no terminal que está dentro do nosso intervalo de número de linha especificado. Para entender isso mais, você primeiro precisa olhar para o seguinte comando que será usado para servir a esse propósito:

$ awk 'nr == 4, nr == 8 print nr, $ 0' nomes.TXT

Neste comando, a palavra -chave "AWK" dirá ao nosso sistema que estamos tentando executar um comando usando a linguagem de script de Awk. Em seguida, temos a declaração 'nr == 4, nr == 8' que especificará o intervalo de registros a serem exibidos, i.e., Ao usar esta afirmação específica, nossos registros dos números de linha 4 a 8 (inclusive) serão exibidos no terminal. Você pode definir esse intervalo de acordo com sua própria escolha. Depois disso, temos o comando "print" seguido pela palavra -chave "NR" e pela variável especial "$ 0". Agora, esta parte do comando servirá ao objetivo de exibir números de linha junto com os registros especificados presentes em nosso arquivo de texto de destino. Por fim, fornecemos o nome do nosso arquivo de texto de destino neste comando para que ele possa ser lido facilmente. Nós executamos este comando simplesmente pressionando a tecla Enter.

Você pode visualizar facilmente no terminal que, como resultado da execução deste comando, o conteúdo específico de nosso arquivo de texto de destino, i i.e., Todos os registros do nosso arquivo de texto dentro do intervalo especificado foram exibidos junto com seus respectivos números de linha, como mostrado na imagem abaixo:

Exemplo # 3: Exibindo os números de linha com os registros específicos em um arquivo de texto separado pelo símbolo especial "-":

Para tornar o conteúdo de um arquivo de texto mais legível, convém separar os números de linha dos registros usando qualquer símbolo especial. Além disso, você pode querer uma coluna específica de todos os registros a serem exibidos. Projetamos este exemplo para elaborar o método de exibir os números de linha com a coluna específica dos registros de um arquivo de texto separado pelo símbolo especial “-”. Para alcançar esse tipo de saída, você terá que executar o seguinte comando:

$ awk 'print nr “-”, $ 1' nomes.TXT

Este comando é praticamente semelhante ao comando que executamos para o nosso primeiro exemplo. No entanto, a única diferença é que especificamos o separador "-". Além disso, em vez de usar a variável especial “$ 0”, fizemos uso da variável especial “$ 1”, que especificará que apenas a primeira coluna de todos os registros do arquivo de texto precisa ser impressa.

Na saída mostrada abaixo, você pode ver que apenas a primeira coluna de todos os registros do nosso arquivo de texto de destino foi exibida; No entanto, os números de linha foram bem separados dos registros com a ajuda do símbolo especial “-”.

Exemplo # 4: Exibindo o número total de registros em um arquivo de texto:

Às vezes, você pode querer apenas o número total de registros do arquivo a ser exibido no terminal. Para isso, você simplesmente precisa executar o seguinte comando:

$ awk 'end print nr' nomes.TXT

Neste comando, a palavra -chave "final" informará ao sistema que só precisa contar o número de registros do arquivo de texto, e a instrução "Print NR" dirá ao seu sistema para imprimir o número total de registros no terminal.

Sabemos que tivemos um total de 10 registros em nosso arquivo de texto de destino, e isso também é verificado a partir da saída do comando mencionado acima mostrado na imagem abaixo:

Conclusão:

Este artigo foi aberto com uma breve introdução à linguagem de script de Awk. O ponto crucial deste guia foi ensinar o uso da variável especial “NR” Awk embutido. Primeiro, demos uma visão geral dessa variável especial, seguida de quatro exemplos diferentes com a ajuda da qual você pode entender seu uso. Depois de passar por esses exemplos, você estará em uma boa posição para usar efetivamente essa variável especial em Awk.