O comando nl no Linux: adicionando números de linha a arquivos de texto

O Linux oferece vários comandos para formatação e edição de texto, e um comando especialmente útil é o comando nl . Esta ferramenta permite adicionar números de linha a cada linha de um arquivo de texto ou entrada, facilitando a leitura e a organização do conteúdo.


O que faz o comando nl ?

O comando nl exibe o conteúdo de um arquivo de texto com números de linha adicionados às linhas não vazias por padrão. É especialmente útil ao trabalhar com scripts ou revisar arquivos grandes, onde acompanhar os números de linha é essencial para depurar ou editar.


Exemplo: uso do comando nl

Suponha que você tenha um arquivo chamado hello-world.sh contendo o seguinte script:

#!/bin/bash
#
#This is a demo script that greets the world
#Author: Jose Navarro Varela
#Usage: ./hello-world.sh

clear
echo hello world
exit 0

Para exibir o arquivo com números de linha, basta executar:

nl hello-world.sh

A saída ficará assim:

     1 #!/bin/bash
     2 #
     3 #This is a demo script that greets the world
     4 #Author: Jose Navarro Varela
     5 #Usage: ./hello-world.sh
     6 clear
     7 echo hello world
     8 exit 0

Por padrão, o comando nl numera apenas as linhas não vazias.


Numerar todas as linhas (incluindo as vazias)

Para incluir linhas vazias na numeração, use a opção -b a :

nl -b a hello-world.sh

A saída ficará assim:

     1 #!/bin/bash
     2 #
     3 #This is a demo script that greets the world
     4 #Author: Jose Navarro Varela
     5 #Usage: ./hello-world.sh
     6
     7 clear
     8 echo hello world
     9 exit 0

Adicionar um separador personalizado

O comando nl permite personalizar o separador entre os números de linha e o texto usando a opção -s . Por exemplo, para adicionar ... como separador:

nl -s "..." hello-world.sh

A saída ficará assim:

1...#!/bin/bash
2...#
3...#This is a demo script that greets the world
4...#Author: Jose Navarro Varela
5...#Usage: ./hello-world.sh
6...
7...clear
8...echo hello world
9...exit 0

Opções adicionais

O comando nl oferece mais opções de personalização, como:

  • -w: Especifica a largura do campo do número de linha.
  • -n: Define o formato de numeração (alinhado à direita, alinhado à esquerda ou preenchido com zeros).

Você pode explorar todas as opções disponíveis consultando a página do manual com:

man nl

Cenários comuns de uso do comando nl

O comando nl é amplamente usado em várias situações. Abaixo estão alguns dos cenários mais comuns:

1. Depurar scripts de shell

Ao depurar um script de shell, você pode precisar se referir a linhas específicas onde ocorrem erros. Usar o comando nl para adicionar números de linha facilita identificar as linhas problemáticas.

Exemplo:

nl my-script.sh

2. Preparar documentação ou revisões de código

Ao compartilhar scripts ou trechos de código para revisão, adicionar números de linha torna o conteúdo mais legível e mais fácil de referenciar durante as discussões.

Exemplo:

nl config.conf > numbered-config.conf

3. Revisar arquivos de texto grandes

Ao trabalhar com arquivos de log, de configuração ou de dados grandes, adicionar números de linha ajuda a navegar e a referenciar seções específicas.

Exemplo:

nl /var/log/syslog

4. Comparar arquivos com números de linha

Adicionar números de linha aos arquivos antes de compará-los facilita a identificação de diferenças.

Exemplo:

nl file1.txt > numbered-file1.txt
nl file2.txt > numbered-file2.txt
diff numbered-file1.txt numbered-file2.txt

5. Formatar a saída para relatórios

O comando nl pode ser usado para formatar arquivos de texto para relatórios ou apresentações em que linhas numeradas são necessárias para maior clareza.

Exemplo:

nl report.txt > numbered-report.txt

6. Visualizar scripts com números de linha nas linhas vazias

Às vezes, os scripts contêm linhas vazias que são importantes para a legibilidade. Você pode usar a opção -b a para numerar todas as linhas, incluindo as vazias.

Exemplo:

nl -b a script.sh

7. Personalizar números de linha para formatos específicos

Ao apresentar arquivos de texto numerados, você pode precisar de separadores ou formatos personalizados.

Exemplo:

nl -s " -> " textfile.txt

Por que usar o comando nl ?

O comando nl é uma ferramenta simples, mas poderosa, para:

  • Depurar scripts identificando linhas específicas.
  • Adicionar números de linha a arquivos de texto para facilitar a navegação.
  • Preparar saídas formatadas para documentação ou compartilhamento.

Deixe um comentário