Los comandos de Linux wc y nl lo ayudarán a identificar la cantidad de palabras, líneas, bytes, etc. en un archivo. Este tutorial explica cómo usar estos dos comandos muy útiles con varios ejemplos.
El archivo de texto básico que se usará en los ejemplos a lo largo de este artículo se muestra a continuación:
$ cat sort.txt UK Australia Newzealand Brazil America
Ejemplos de comandos de Linux nl
La utilidad nl en Linux se usa para numerar líneas de un archivo.
Aquí está la sintaxis y la descripción de la página man:
SINOPSIS
nl [OPCIÓN]… [ARCHIVO]…
DESCRIPCIÓN
Escribe cada ARCHIVO en la salida estándar, con números de línea agregados. Sin ARCHIVO, o cuando ARCHIVO es -, lea la entrada estándar.
1. Un ejemplo básico
Aquí hay un ejemplo básico que explica cómo se puede usar el comando nl para numerar líneas de un archivo.
$ cat sort.txt UK Australia Newzealand Brazil America $ nl sort.txt 1 UK 2 Australia 3 Newzealand 4 Brazil 5 America
Entonces vemos que usando el comando nl, todas las líneas del archivo sort.txt se numeraron.
2. Incremente los números de línea con cualquier valor usando la opción -i
La opción -i se puede usar para anular el incremento predeterminado de 1 en los números de línea.
Aquí hay un ejemplo en el que hemos usado -i para aumentar el incremento del número de línea a 5:
$ nl -i5 sort.txt 1 UK 6 Australia 11 Newzealand 16 Brazil 21 America
En lugar del valor predeterminado 1,2,3..., los números de línea ahora se muestran en incrementos de 5 (es decir, 1,6,11...)
3. Agregue una cadena después de los números de línea usando la opción -s
De forma predeterminada, el comando nl solo agrega números de línea. Pero, a través de la opción -s, se puede agregar cualquier cadena que pueda actuar como un separador entre los números de línea y el texto de la línea.
Aquí hay un ejemplo:
$ nl -s. sort.txt 1.UK 2.Australia 3.Newzealand 4.Brazil 5.America
Entonces vemos que el carácter '.' se agregó después de los números de línea.
4. Use una columna diferente para los números de línea usando la opción -w
Las columnas para mostrar el número de línea se pueden cambiar usando la opción -w.
Aquí hay un ejemplo:
$ nl -w1 sort.txt 1 UK 2 Australia 3 Newzealand 4 Brazil 5 America $ nl -w2 sort.txt 1 UK 2 Australia 3 Newzealand 4 Brazil 5 America $ nl -w3 sort.txt 1 UK 2 Australia 3 Newzealand 4 Brazil 5 America $ nl -w4 sort.txt 1 UK 2 Australia 3 Newzealand 4 Brazil 5 America $ nl -w5 sort.txt 1 UK 2 Australia 3 Newzealand 4 Brazil 5 America $ nl -w6 sort.txt 1 UK 2 Australia 3 Newzealand 4 Brazil 5 America
El resultado exhaustivo anterior da una buena idea de cómo se puede cambiar la columna de visualización para los números de línea.
5. Use ESTILO para numerar líneas usando la opción -b
Hay varios ESTILOS disponibles para la numeración de líneas. Desde la página del manual:
ESTILO es uno de:
- a – numerar todas las líneas
- t – numerar solo líneas no vacías
- n – número sin líneas
- pBRE:líneas de solo números que contienen una coincidencia para la expresión regular básica, BRE
En el siguiente ejemplo, he usado una expresión regular 'pA' como ESTILO con la opción -b. Esta expresión regular coincide con las líneas que comienzan con 'A' y, por lo tanto, el comando nl enumera solo esas líneas.
$ nl -bpA sort.txt UK 1 Australia Newzealand Brazil 2 America
Entonces vemos que solo las líneas que comienzan con 'A' estaban numeradas.
6. Use un FORMATO diferente para insertar números de línea usando las opciones -n
Hay varios FORMATOS disponibles para insertar números de línea. Desde la página del manual:
FORMATO es uno de:
- ln:justificado a la izquierda, sin ceros a la izquierda
- rn:justificado a la derecha, sin ceros a la izquierda
- rz:justificado a la derecha, ceros a la izquierda
Aquí hay un ejemplo que demuestra todos los formatos anteriores:
$ nl -nln sort.txt 1 UK 2 Australia 3 Newzealand 4 Brazil 5 America $ nl -nrn sort.txt 1 UK 2 Australia 3 Newzealand 4 Brazil 5 America $ nl -nrz sort.txt 000001 UK 000002 Australia 000003 Newzealand 000004 Brazil 000005 America
Tenga en cuenta que también puede usar el comando sed para contar el número de líneas en un archivo.
Ejemplos de comandos wc de Linux
La utilidad wc en Linux se utiliza para imprimir información como el número de líneas nuevas, palabras, recuento de bytes de un archivo.
Aquí está la sintaxis y la descripción de la página man:
SINOPSIS
wc [OPCIÓN]… [ARCHIVO]…
wc [OPCIÓN]… –files0-from=F
DESCRIPCIÓN
Imprime recuentos de nueva línea, palabra y byte para cada ARCHIVO, y una línea total si se especifica más de un ARCHIVO. Sin ARCHIVO, o
cuando ARCHIVO es -, lea la entrada estándar. Una palabra es una secuencia de caracteres de longitud distinta de cero delimitada por un espacio en blanco.
1. Un ejemplo básico
Aquí hay un ejemplo básico del comando wc de Linux:
$ cat sort.txt UK Australia Newzealand Brazil America $ wc sort.txt 5 5 41 sort.txt
Los tres números producidos en la salida corresponden al número de líneas, número de palabras y número de bytes. Estos tres números van seguidos del nombre del archivo.
2. Mostrar el recuento de palabras a través de la opción -w
El recuento de palabras de un archivo se puede mostrar explícitamente a través de la opción -w.
Aquí hay un ejemplo:
$ wc -w sort.txt 5 sort.txt
Entonces vemos que se imprimió la cantidad de palabras seguidas del nombre del archivo.
3. Muestra la longitud de la línea más larga a través de la opción -L
El comando wc proporciona una opción -L que se puede usar para mostrar la longitud de la línea más larga en el archivo.
Aquí hay un ejemplo:
$ wc -L sort.txt 10 sort.txt
Entonces vemos que la longitud de la línea más larga ('Nueva Zelanda' en nuestro caso) se mostró en la salida.
4. Muestra el número de saltos de línea a través de la opción -l
El comando wc proporciona una opción -l a través de la cual se puede mostrar una cantidad de nuevas líneas en la salida.
Aquí hay un ejemplo:
$ wc -l sort.txt 5 sort.txt
Entonces vemos que había 5 nuevas líneas en el archivo sort.txt
5. Muestra el número de bytes a través de la opción -c
El número total de bytes en un archivo se puede mostrar usando la opción -c del comando wc.
Aquí hay un ejemplo:
$ wc -c sort.txt 41 sort.txt