wc y nl
100%

Text-Fu · Lección 15

wc y nl

Aprende a contar líneas, palabras, bytes o caracteres con wc y a numerar líneas con nl.

La orden wc cuenta propiedades de los flujos de texto, mientras que nl escribe la entrada con números de línea generados. Ambas leen archivos o la entrada estándar y envían sus resultados a la salida estándar.

Interpretar la salida predeterminada de wc

Sin una opción de recuento, wc imprime la cantidad de caracteres de nueva línea, palabras y bytes, seguida del nombre de archivo cuando se ha proporcionado uno:

$ printf 'red blue\ngreen\n' > colors.txt
$ wc colors.txt
 2  3 15 colors.txt

De izquierda a derecha:

  1. 2 caracteres de nueva línea, indicados como líneas.
  2. 3 palabras delimitadas por espacios en blanco.
  3. 15 bytes en este ejemplo ASCII.

Una última línea de texto sin un salto de línea final no se cuenta con wc -l, porque esta opción cuenta caracteres de nueva línea, no las líneas percibidas visualmente.

En la salida predeterminada de wc file.txt, ¿qué representan los tres primeros números?

Solicitar un único recuento

Selecciona únicamente la medida que necesites:

  • -l: cuenta caracteres de nueva línea.
  • -w: cuenta palabras.
  • -c: cuenta bytes.
  • -m: cuenta caracteres según la configuración regional actual.

Por ejemplo:

$ wc -w colors.txt
3 colors.txt

Los recuentos de bytes y caracteres son iguales para texto ASCII, pero pueden diferir con codificaciones multibyte como UTF-8. Cuando se usa la entrada estándar sin un operando de nombre de archivo, wc suele omitir la etiqueta del nombre:

$ printf 'one two\n' | wc -w
2

¿Qué orden muestra únicamente el recuento de palabras de essay.txt?

¿Qué opción pide a wc que cuente caracteres en vez de bytes con la configuración regional actual?

Cuando se indican varios archivos, wc imprime un resultado por archivo y una línea total. En GNU, wc -L muestra la anchura máxima de visualización de una línea de entrada.

Numerar líneas no vacías con nl

De forma predeterminada, nl numera las líneas no vacías del cuerpo lógico de su entrada. Supón que notes.txt contiene una segunda línea vacía:

alpha

beta

La línea vacía se conserva, pero no recibe ningún número:

$ nl notes.txt
     1	alpha

     2	beta

nl escribe una salida numerada; no modifica notes.txt.

¿Cómo trata nl notes.txt las líneas vacías del cuerpo de forma predeterminada?

Numerar todas las líneas

Usa -ba para seleccionar el estilo de numeración del cuerpo a, que numera todas las líneas:

$ nl -ba notes.txt
     1	alpha
     2
     3	beta

Otras opciones controlan el formato. Por ejemplo, -w 3 establece la anchura del campo numérico y -s ': ' cambia el separador posterior al número.

¿Qué orden numera todas las líneas del cuerpo de notes.txt, incluidas las vacías?

Lección completada

Has completado wc y nl

Ahora puedes medir flujos de texto y añadir números de línea visibles sin editar el origen.

  • Interpreta las columnas predeterminadas de líneas, palabras y bytes de wc.

  • Selecciona un recuento con -l, -w, -c o -m.

  • Distingue los recuentos de bytes de los de caracteres.

  • Numera líneas no vacías con el comportamiento predeterminado de nl.

  • Numera también las líneas vacías con nl -ba.

Guarda tu progreso

Crea una cuenta gratuita para guardar esta lección y continuar en cualquier dispositivo.

Crear una cuenta gratuita
Siguiente Lección
Volver a Text-Fu