Hay situaciones en las que tiene datos dispersos y desea combinarlos en un lugar llamado fusión. Es posible que haya dividido un solo archivo en varios archivos y ahora desee fusionarlos nuevamente o que tenga varios archivos de registro que le gustaría fusionar en uno solo. En Linux, fusionar numerosos archivos de texto en un solo archivo es simple. El artículo trata sobre las diferentes formas de fusionar datos en un solo lugar a través de diferentes comandos en Ubuntu 20.04, una popular distribución de Linux.
El proceso de fusionar dos o más conjuntos de datos en un solo conjunto de datos se conoce como fusión de datos. Cuando tiene datos sin procesar almacenados en numerosos archivos, libros de trabajo o tablas de datos que desea analizar todos a la vez, generalmente se requiere este enfoque. En este artículo, usaremos los comandos "cat", "sed" y "merge" para combinar datos en Ubuntu (SO Linux).
Fusionar datos en Linux
A continuación se mencionan algunos procedimientos para fusionar datos usando algunos comandos en Ubuntu:
- Combina datos usando el comando cat
- Fusionar datos usando el comando sed
- Combinar datos usando el comando de combinación
- Fusionar datos usando "For loop"
Combinar datos usando el comando Cat
El gato significa concatenar; está preinstalado en las nuevas versiones de Ubuntu, pero si está utilizando una versión anterior, debe instalarlo. Es un comando de uso común que lee todos los datos de un archivo y muestra su contenido en la pantalla del terminal. Nos permite generar, visualizar y combinar archivos. Cuando usa el comando cat para mostrar el contenido de archivos de texto enormes en la terminal, estropeará su terminal y dificultará la navegación.
Salida
El comando mencionado a continuación combinará los datos de "linux1" y "linux2" y los mostrará en la pantalla en el mismo orden en que se colocan los nombres de archivo.
$ cat linux1.txt linux2.txt |
Combinar datos y almacenarlos en un archivo
Ahora también podemos fusionar datos de varios archivos y almacenarlos en otro archivo usando el comando cat y el operador de redirección ">". El comando mencionado a continuación combinará los datos de "linux1" y "linux2" y los almacenará en "merged_linux" usando el comando cat.
$ cat linux1.txt linux2.txt > merged_linux.txt |
Si el archivo no existe, el comando cat lo creará primero. En lugar de agregar al final, el operador de redirección simple sobrescribirá el archivo, debe usar un operador de redirección doble si desea agregar texto nuevo al final del archivo sin sobrescribir.
Salida:
Fusionar datos usando el comando Sed
En Linux, el comando preinstalado SED se abrevia como editor de flujo, pero si no está instalado, puede instalarlo y puede realizar una variedad de operaciones de archivo, como buscar, encontrar y reemplazar, insertar y eliminar. El comando SED es un comando popular de Linux que se usa para reemplazar o para buscar y reemplazar. Puede modificar archivos sin abrirlos usando SED, que es una forma mucho más rápida de buscar y reemplazar cualquier cosa en un archivo que abrirlo primero en el editor VI y luego modificarlo.
El comando sed, que generalmente se usa para la manipulación y transformación de texto, se puede usar para fusionar archivos/datos. “>”. El comando mencionado a continuación combinará los datos de "linux1" y "linux2" y los almacenará en "merged_linux" usando el comando sed y el operador de redirección ">".
$ sed h linux1.txt linux2.txt > merged_linux1.txt |
Salida:
Combinar datos usando el comando de combinación
El comando Combinar también combina los datos de dos archivos y los almacena en un archivo nuevo, pero funciona de manera diferente a cualquier otro comando de combinación. Merge compara tres archivos, uno original y dos versiones modificadas del original, línea por línea, buscando reconciliar los conflictos entre los dos conjuntos de modificaciones para crear un único archivo combinado que represente los cambios de ambos archivos. El comando "combinar" no está preinstalado, debe instalarlo con el comando mencionado a continuación:
$ sudo apt install rcs |
El comando mencionado a continuación fusionará linux1.txt y linux2.txt en "merged_linux.txt" usando el comando merge.
$ merge merge_linux2.txt linux1.txt linux2.txt |
linux1.txt y linux2.txt son dos archivos que fusionan diferentes partes en “merge_linux2.txt”, primero debe crear “merge_linux2.txt”.
Salida
Hay un conflicto entre “<<<<<<<” y “>>>>>>>”.
Fusionar datos usando "For loop"
El "bucle for" puede eliminar la necesidad de indicar explícitamente los nombres de los archivos. Esto solo funcionará si los nombres de archivo son consistentes. En nuestra situación, los nombres de archivo tienen el siguiente formato:linux{1,2}.txt
El comando mencionado a continuación combinará los datos de "linux1" y "linux2" y los almacenará en "merged_linux" usando el bucle for y el operador de redirección ">".
$ for i in {1,2}; do cat “linux$i.txt” >> merged_linux3.txt; done |
Salida:
Conclusión
A veces desea almacenar diferentes tipos de datos en diferentes lugares en un solo lugar. Para esto, debe fusionar los datos de diferentes maneras en Linux. En este artículo, discutimos cuatro formas de combinar datos en Ubuntu usando cat, sed, y comando de combinación y bucle for en detalle. Puede seguir cualquiera de los enfoques que le parezcan fáciles según usted.