Cómo combinar archivos de texto usando el comando «cat» en Linux

00_lead_image_concatenating_files

El comando cat es muy útil en Linux. Tiene tres funciones principales relacionadas con la manipulación de archivos de texto: crearlos, mostrarlos y combinarlos.

Hemos discutido el uso del comando cat (entre otros) para crear y ver archivos de texto en la línea de comandos en Linux . Pero supongamos que tiene tres archivos de texto: file1.txt, file2.txt y file3.txt. Desea combinarlos (o concatenarlos ) en un archivo de texto que contenga información de los tres, en ese orden. También puede hacer esto con el comando cat.

Simplemente abra una Terminal y escriba el siguiente comando:

cat archivo1.txt archivo2.txt archivo3.txt

Obviamente, reemplace los nombres de archivo en el ejemplo anterior por el suyo.

El contenido combinado de los tres archivos de texto aparecerá en su terminal.

01_basic_cat_command

Sin embargo, normalmente querrá combinar esos archivos de texto en otro archivo de texto, no solo imprimir los resultados en la pantalla. Afortunadamente, esto es muy sencillo. Todo lo que necesita hacer es agregar un símbolo de redirección de salida ( >) después de la lista de archivos que se concatenan y luego especificar el nombre del archivo de texto final.

cat archivo1.txt archivo2.txt archivo3.txt> archivo4.txt

NOTA: El archivo que aparece después del símbolo de redirección de salida se sobrescribirá, si ya existe. Por lo tanto, tenga cuidado al especificar el nombre del archivo de texto combinado. Más adelante en este artículo le mostraremos cómo agregar archivos al final de un archivo existente.

Si abre file4.txt (ya sea con el comando cat o con el editor de texto de su elección), debería encontrar que contiene el texto de los primeros tres archivos de texto.

02_redirecting_cat_command

Si está combinando listas de elementos de varios archivos y los quiere ordenados alfabéticamente en el archivo combinado, puede ordenar los elementos combinados en el archivo resultante. Para hacer esto, ingrese el catcomando básico que le mostramos anteriormente seguido del comando de tubería (|) y el sortcomando. Luego, escriba el símbolo de redirección de salida ( >) seguido del nombre del archivo en el que desea copiar el texto combinado. Todas las líneas de texto del archivo de resultados se ordenarán alfabéticamente.

cat archivo1.txt archivo2.txt archivo3.txt | ordenar> archivo4.txt

03_concatenar_y_ordenar

Como mencionamos anteriormente, también existe una forma de agregar archivos al final de un archivo existente. Escriba el catcomando seguido del archivo o archivos que desea agregar al final de un archivo existente. Luego, escriba dos símbolos de redirección de salida ( >>) seguidos del nombre del archivo existente al que desea agregar.

cat file5.txt >> file4.txt

04_appending_a_file_to_end_of_existing_file

Si desea agregar un poco de texto nuevo a un archivo de texto existente, use el catcomando para hacerlo directamente desde la línea de comando (en lugar de abrirlo en un editor de texto). Escriba el catcomando seguido del símbolo de redirección de salida doble ( >>) y el nombre del archivo al que desea agregar texto.

gato >> file4.txt

Aparecerá un cursor en la siguiente línea debajo del mensaje. Empiece a escribir el texto que desea agregar al archivo. Cuando haya terminado, presione Entrar después de la última línea y luego presione Ctrl + D para copiar ese texto al final del archivo y salir de cat.

05_appending_a_line_from_the_standard_output

Si termina con un archivo muy largo una vez que combina sus archivos de texto, puede usar el símbolo de la tubería con el comando menos al ver el archivo en la ventana de Terminal. Por ejemplo cat file4.txt | less,. Discutimos el uso del comando menos en este artículo .