¿Qué es el comando CAT en Linux y cómo usarlo?

¿Qué es el comando CAT en Linux y cómo usarlo?

El catcomando es la forma más básica de Linux de combinar archivos. Es la abreviatura de conCATenation, pero hay más en esto que simplemente copiar y pegar un archivo al lado del otro.

Formato Básico para el Comando CAT

Así es como normalmente usa el catcomando:

cat file1 file2 file3 > output

El orden para agregar archivos uno al lado del otro se basa en el orden en que escribió los archivos dentro del comando. En este ejemplo, cuando abre el archivo de «salida», el contenido de «archivo1» será seguido por «archivo2», luego «archivo3» y así sucesivamente.

Terminal de Linux que combina la salida del archivo 1, archivo 2 y archivo 3 al archivo de salida con contenido de salida en el editor de archivos de texto

Puede agregar tantos archivos como desee siempre que su sistema de archivos pueda admitir el tamaño final de la salida.

Además, como en todos los comandos de terminal de Linux, deberá incluir la extensión del archivo cuando los agregue. Por ejemplo, si estaba trabajando con archivos JSON y planeaba combinar dos de estos, deberá escribirlo como este:

cat file1.json file2.json > combined_file.json

CAT sin la porción de salida

Para cat, la parte de salida es opcional. Al eliminar esta parte, se imprime el contenido de cada archivo en la terminal.

Linux Terminal Cat Comando Cat Archivo1 Txt Archivo2 Txt

También puede hacer esto en archivos individuales. Recuerde que no podrá editar el contenido aquí como lo haría con archivos DOC o TXT en un editor de texto . El catcomando se parece más a un visor de archivos de texto que a un editor.

Banderas de comando CAT

Hay seis banderas que puede usar siempre que use CAT en Linux:

  • -nenumerar cada línea a partir de 1.
  • -benumere solo las líneas que contienen caracteres.
  • -scomprima varias líneas vacías consecutivas en una sola línea vacía.
  • -emarcar el final de cada línea.
  • -qno muestre un mensaje si CAT no puede encontrar un archivo de entrada.
  • -tMostrar caracteres de tabulación como ^I.

Veremos cómo funciona cada uno y cómo puede usarlos.

Uso de la bandera -n

La -nbandera enumera el contenido de un archivo por línea y lo imprime en la terminal. No edita el archivo en sí.

cat -n file1.txt

Pero aún puede guardar la salida (con enumeración) haciendo esto:

cat -n file1.txt > file2.txt

Indicadores de comando Cat de terminal de Linux Indicador N

Eso enumera el contenido de «file1.txt» y lo guarda en «file2.txt».

También puede enumerar varios archivos juntos. El catcomando continuará contando después del final del primer archivo. Si el primer archivo termina en 33, el siguiente archivo comenzará en 34 y así sucesivamente.

Uso de la bandera -b

El problema con la -nbandera es que también enumera líneas vacías. Si tenía un archivo con mucho espacio en blanco para el diseño o la legibilidad, necesitará la -bbandera en su lugar.

cat -b file1.txt

Indicadores de comando Cat de terminal de Linux Indicador B 2

El formato de la -bbandera funciona igual que el de la -nbandera. Además, si usa los dos juntos, la -bbandera anulará la -nbandera sin importar cómo los ordene.

Uso de la bandera -s

La -sbandera es otra catbandera de comando útil para cuando tiene mucho espacio en blanco en sus archivos. Funciona al reducir todos los espacios en blanco repetidos en uno solo, lo que facilita la legibilidad.

cat -s file2.txt

Banderas de comando Cat de terminal de Linux Bandera S

Esta bandera busca al menos 2 líneas vacías consecutivas antes de fusionarlas. Si su archivo contiene una sola línea vacía entre dos llenas, la omitirá y buscará la siguiente.

Uso de la bandera -e

La -ebandera encuentra el final de cada línea y agrega un $al final de cada línea.

cat -e file1.txt

Indicadores de comando Cat de terminal de Linux Indicador E

Esta bandera facilita el trabajo con sus archivos de texto cuando usa expresiones regulares o regex . Puede hacer que un script o programa adicional lea el contenido del archivo guardado y verifique los extremos usando expresiones regulares.

Recuerde que la -ebandera también agrega una $al final de cada línea vacía, por lo que es posible que desee usar esto junto -spara que las cosas se vean más limpias.

Uso de la bandera -t

La -tbandera es similar a la -ebandera, pero busca el «carácter de tabulación» y lo reemplaza con un ^I. Lo bueno de esta bandera es que sabe diferenciar «tabulador» del carácter de «doble espacio».

cat -t file1.txt > file2.txt

Indicadores de comando Cat de terminal de Linux Indicador T

Esto significa que si usa las banderas -no -bjunto a la -tbandera, leerá los caracteres de espacio tal como están y los dejará como están. Lo mismo ocurre si agrega una tonelada de espacios para imitar un carácter de «tabulador».

Usos del comando CAT de Linux

El catcomando solo debe usarse cuando intenta combinar archivos de texto línea por línea. No espere que el catcomando tome dos líneas de texto y las combine en una sola línea.

Linux Terminal Hello World cortado en dos líneas

Por otro lado, le resultará muy útil cuando intente limpiar archivos de texto para que funcionen otros scripts. Los indicadores -e, -t, -by -sson lo suficientemente útiles como para ahorrarle tiempo al codificar su propio script para lo que sea que estos indicadores ya hagan.

También ayuda a que sea más fácil ver archivos de texto en comparación con tener que usar el editor Nano todo el tiempo.

Nano Editor Hola mundo en dos líneas

Pero si está tratando de hacer algo para lo que no está diseñado, entonces podría ser el momento de echar un vistazo a otras formas de concatenar archivos en Linux .

Preguntas frecuentes

¿Qué pasará si uso el comando CAT en un archivo de video?

Los archivos de video contienen algo llamado «encabezado». Esta es una información que muestra cómo se ha codificado el video. Si usa el comando CAT para concatenar videos, se quedará con uno que tiene información de encabezado intercalada entre los datos de video codificados. La mayoría de los espectadores leerán esto y pensarán que su archivo se ha dañado. Es mejor usar una herramienta diferente como FFmpeg para hacer esto con archivos de video.

¿Puedo usar el comando CAT de Linux con archivos de diferentes carpetas?

Puede tratar sus nombres de archivo como rutas de carpetas cuando combina archivos en carpetas usando el catcomando. De esta forma, puedes combinar un archivo de Escritorio con otro de Fotos haciéndolo así: cat Desktop/file1.txt Photos/Photos.txt >> output.txt.

¿Qué sucede cuando uso el nombre de archivo de un archivo existente como salida para el comando CAT?

Dependiendo de si está usando >o >>, sobrescribirá o agregará el contenido al archivo existente. El >>comando se agrega a un archivo o crea el archivo si no existe. El >comando sobrescribe el archivo si existe o lo crea si no existe.

Para evitar conjeturas, siempre es mejor guardar la salida en un archivo inexistente con un nombre de archivo único.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *