Linux ofrece una gran cantidad de herramientas de línea de comandos de formato de texto, y cada una de ellas tiene un propósito diferente. Una de esas utilidades es nl , que le permite numerar líneas en archivos. En este tutorial, discutiremos los conceptos básicos de este comando utilizando algunos ejemplos fáciles de entender.
Pero antes de hacerlo, vale la pena mencionar que todos los ejemplos usados en este tutorial han sido probados en un sistema Ubuntu 16.04 LTS.
Comando Linux nl
Como ya se mencionó al principio, el comando nl numera las líneas en los archivos. La siguiente es su sintaxis:
nl [OPTION]... [FILE]...
Y así es como lo explica la página man:
Write each FILE to standard output, with line numbers added. With no
FILE, or when FILE is -, read standard input.
Los siguientes son algunos ejemplos de preguntas y respuestas que deberían darle una mejor idea de cómo funciona nl.
P1. ¿Cómo usar el comando nl?
El uso básico de nl es muy fácil:todo lo que tiene que hacer es pasar como argumento el nombre del archivo cuyas líneas desea numerar.
nl [filename]
He aquí un ejemplo:
P2. ¿Cómo numerar líneas vacías?
De forma predeterminada, el comando nl no enumera las líneas vacías:
Sin embargo, si lo desea, puede cambiar este comportamiento pasando el valor 'a' a la opción de línea de comando -b.
nl -b a [filename]
P3. ¿Cómo personalizar el valor de incremento de número?
De forma predeterminada, el valor de incremento de número es 1. Sin embargo, puede personalizarlo con la opción de línea de comando -i.
nl -i [new-inc-val] [filename]
Por ejemplo:
P4. ¿Cómo hacer que nl considere múltiples líneas vacías como una sola?
Para esto, use la opción de línea de comando -l. Así es como lo explica la página man:
Consider NUMBER (default 1) consecutive empty lines to be one
logical line for numbering, and only number the last one. Where
fewer than NUMBER consecutive empty lines occur, do not number
them. An empty line is one that contains no characters, not even
spaces or tabs.
Por ejemplo, tomemos el siguiente archivo:
Y supongamos que queremos que nl considere 8 líneas vacías consecutivas como una línea lógica para la numeración. Entonces aquí está el comando que ejecutaríamos:
nl -b a -l 8 [filename]
P5. ¿Cómo usar diferentes formatos de numeración?
Puede utilizar la opción de línea de comando -n para especificar formatos de numeración. Las opciones disponibles incluyen justificado a la izquierda, justificado a la derecha y justificado a la derecha con ceros a la izquierda. Puede acceder a ellos utilizando los valores ln, rn y rz.
Aquí hay un ejemplo que muestra todos estos formatos:
P6.¿Cómo usar un separador de numeración personalizado?
De forma predeterminada, el carácter que separa el número de la línea es una TABULACIÓN. Sin embargo, si lo desea, puede personalizar esto usando la opción de línea de comando -s, que requiere el nuevo separador como entrada.
Por ejemplo, si queremos usar dos puntos dobles (::) como el nuevo separador, así es como podemos hacerlo:
nl -s :: [filename]
P7. ¿Cómo hacer que nl use un número de línea de inicio diferente?
De manera predeterminada, la numeración comienza con 1. Sin embargo, puede cambiar esto usando la opción de línea de comando -v. Así es como:
nl -v [new-start-number] [filename]
Conclusión
El comando nl es fácil de entender y usar. Aquí, en este tutorial, hemos cubierto la mayoría de las opciones de línea de comandos que ofrece. Una vez que haya terminado de practicar estos, diríjase a la página de manual de la herramienta para obtener más información.