Coreutils cat: Output de archivos completos (parte 1)

Coreutils - Output de archivos completos, comenzaremos con cat

Coreutils – Output de archivos completos, comenzaremos con cat

Esta es la primer publicación de la serie de coreutils, vamos a comenzar con los comandos que se utilizan para manipular el output de archivos completos, estos comandos: cat, tac y nl. Hoy sólo vamos a revisar a fondo cat, ya que es una de las herramientas más utilizadas en el día a día, espero que podamos detallarla a fondo.

Empecemos por lo más sencillo:

¿Qué es cat?

Es una herramienta que copia el contenido de un archivo y lo despliega en el «Standard Output»

Coreutils cat - Cheatsheet

Coreutils cat – Cheatsheet

Espera… ¿»Standard Output» ?

OK, si es importante definir lo que son los «Standardized streams» (input, output y error) pero eso será tema de otra publicación, de momento sólo diremos que se refiere a «imprimir en pantalla» pero esto puede redirigirse muy fácilmente, por ahora debemos quedarnos con esta definición imprecisa.

NOTA: Si quieres realizar los ejemplos con el mismo archivo que yo utilicé puedes descargarlo aquí:   ejemplo-101

¿Para qué me sirve cat?

El escenario más común de cat es el de mostrar en pantalla el contenido de un archivo completo.


¡Vaya! eso fue… menos sorprendente de lo que esperabas xD pero es realmente útil: si quieres revisar el contenido de un archivo sin necesidad de utilizar un editor de texto puedes mostrarlo en pantalla. Cat estará disponible en todos los sistemas Linux sin necesidad de instalar nada adicional, al contrario de vim, nano o cualquier otro editor externo.

Si te das cuenta, en el contenido de archivo es muy difícil percibir si existen espacios o tabulaciones. Para eso nos será de mucha ayuda la opción -T. Veamos como se usa.

Usar cat -T para detectar tabulaciones en el archivo.


Podemos ver que en el documento aparece el símbolo ^I. Esto significa que el documento contiene el comando de control TAB.

¿Alguna vez les ha pasado que tienen espacios al final de una línea y no pueden darse cuenta? cat también puede ayudarnos con eso.

Usar cat -E para detectar saltos de línea en el archivo.


¡Woah, no pude ver eso antes! Si se dan cuenta aparece el símbolo $ al final de cada renglón mostrando dónde aparece el salto de línea; hay algunas líneas que tienen varios espacios antes del salto de línea. Después, en otra publicación, vamos a revisar cómo podemos eliminarlos fácilemente, pero por ahora con cat podemos detectarlo.

Todavía cat tiene más trucos bajo la manga, veamos el siguiente ejemplo y ya lo explicaremos.

Usar cat -v para detectar caracteres de control en el archivo.


¿ Ves los símbolos del final ? Yep, siempre han estado ahí, sólo que son «non-printable» characters, son caracteres de control que no se muestran en el documento.

Algunos comandos de control


Puedes realizar combinaciones de estos comando cosas como:

cat -vE

cat -vT

cat -vET

 cat –help para la lista completa de opciones


¡Hey, no explicaste todas las opciones! :(

Está bien, explicaré las que faltan brevemente por que esto ya se alargo más de lo que esperaba.

cat -n para enumerar todas las líneas del documento.


cat -b para enumerar sólo para las líneas que tienen contenido (omite las líneas vacias en la numeración)


Y bien, con esto terminaremos por hoy. La mejor forma de aprender es practicando. Desarrolla tus propios ejemplos y comparte en los comentarios tu preguntas.

La próxima semana espero poder cumplir con las fechas para otro artículo. Honestamente espero que no sea tan largo como este, pero de verdad espero que lo que hacemos aquí les sea de mucha utilidad a todos. ¡Gurús! Si tengo algún error recuerden que sólo soy un humano nivel 16, cualquier corrección o espacio para mejorar será siempre bien recibido.

One Response

  1. alex 25/Jul/2016

Leave a Reply