¿Qué es el comando CAT en Linux y cómo usarlo?
El cat
comando 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 cat
comando:
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.
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.
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 cat
comando 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:
-
-n
enumerar cada línea a partir de 1. -
-b
enumere solo las líneas que contienen caracteres. -
-s
comprima varias líneas vacías consecutivas en una sola línea vacía. -
-e
marcar el final de cada línea. -
-q
no muestre un mensaje si CAT no puede encontrar un archivo de entrada. -
-t
Mostrar caracteres de tabulación como^I
.
Veremos cómo funciona cada uno y cómo puede usarlos.
Uso de la bandera -n
La -n
bandera 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
Eso enumera el contenido de «file1.txt» y lo guarda en «file2.txt».
También puede enumerar varios archivos juntos. El cat
comando 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 -n
bandera 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 -b
bandera en su lugar.
cat -b file1.txt
El formato de la -b
bandera funciona igual que el de la -n
bandera. Además, si usa los dos juntos, la -b
bandera anulará la -n
bandera sin importar cómo los ordene.
Uso de la bandera -s
La -s
bandera es otra cat
bandera 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
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 -e
bandera encuentra el final de cada línea y agrega un $
al final de cada línea.
cat -e file1.txt
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 -e
bandera también agrega una $
al final de cada línea vacía, por lo que es posible que desee usar esto junto -s
para que las cosas se vean más limpias.
Uso de la bandera -t
La -t
bandera es similar a la -e
bandera, 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
Esto significa que si usa las banderas -n
o -b
junto a la -t
bandera, 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 cat
comando solo debe usarse cuando intenta combinar archivos de texto línea por línea. No espere que el cat
comando tome dos líneas de texto y las combine en una sola línea.
Por otro lado, le resultará muy útil cuando intente limpiar archivos de texto para que funcionen otros scripts. Los indicadores -e
, -t
, -b
y -s
son 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.
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 cat
comando. 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