Enumerando linhas com o comando nl

Publicado por Mauricio Ferrari em 13/04/2021

[ Hits: 1.337 ]

Blog: https://github.com/mxnt10

 


Enumerando linhas com o comando nl



O comando nl é usado para numerar linhas de arquivos de texto e exibi-los no terminal. Está procurando uma alternativa ao cat, essa pode ser uma boa alternativa. O nl ao exibir o arquivo, te permite saber o número de linhas escritas no mesmo, conforme o exemplo a seguir:

nl Binary/onlinecheck

Veja a saída:

     1  #!/bin/bash
     2  #
     3  # ### OnlineCheck v2.1 - By Mauricio Ferrari - 02/04/2021 ###
     4  #
     5  ################################################################

     6  MSG='\n\e[31m--> Offline !\e[m\n'

     7  [ "$1" = "" ] && echo -e "\n\e[33mURL Não Especificada! \e[m\n" && exit 1
     8  [ "`curl -Is $1`" ] && MSG='\n\e[32m--> Online !\e[m\n'
     9  echo -e "$MSG"; exit 0


Podemos concluir que esse arquivo possui 9 linhas escritas de código. Mas, se você quiser que todas as linhas fossem numeradas, também é possível com esses parâmetros:

nl -ba Binary/onlinecheck

Ele gera a seguinte saída:

     1  #!/bin/bash
     2  #
     3  # ### OnlineCheck v2.1 - By Mauricio Ferrari - 02/04/2021 ###
     4  #
     5  ################################################################
     6
     7  MSG='\n\e[31m--> Offline !\e[m\n'
     8
     9  [ "$1" = "" ] && echo -e "\n\e[33mURL Não Especificada! \e[m\n" && exit 1
    10  [ "`curl -Is $1`" ] && MSG='\n\e[32m--> Online !\e[m\n'
    11  echo -e "$MSG"; exit 0


Ou seja, no total são 11 linhas. É basicamente imitante ao cat -n, só que ele não é próprio para isso. Mas, ele também é útil para numerar a saída de comandos como grep, echo e tudo o que puder gerar uma saída para ser exibido no terminal.

Vou dar um exemplo com grep:

grep '\\e' Binary/onlinecheck | nl

Veja como o nl deixou a saída bem formatadinha e numerada para visualização:

     1  MSG='\n\e[31m--> Offline !\e[m\n'
     2  [ "$1" = "" ] && echo -e "\n\e[33mURL Não Especificada! \e[m\n" && exit 1
     3  [ "`curl -Is $1`" ] && MSG='\n\e[32m--> Online !\e[m\n'


Essa é uma breve apresentação das funcionalidades do comando nl. Espero que seja útil.

Outras dicas deste autor

BleachBit 4.1.0 no Deepin

Desativar Abertura de Diretório ao Plugar Mídias USB no Linux Mint 20

Instalando o BootUp Manager (BUM) no Ubuntu 20.04 e Linux Mint 20

Convertendo Segundos em Horas Usando Bash

Sem Itens Repetidos no bash_history

Leitura recomendada

Repositório local do apt-get

Como copiar arquivos mantendo a estrutura de diretórios e sub-diretórios

Bug no Samba

Gravar CD ou DVD via linha de comando

Expressão regular com o Wget

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts