¿Cómo divido un archivo en piezas en Linux?

¿Cómo divido un archivo en piezas en Linux?
Este tutorial explica cómo dividir los archivos en partes en Linux por tamaño fácilmente, varios archivos, contenido y más opciones. Después de leer este artículo, sabrá cómo dividir archivos usando ambos dividir y csplit comandos y cómo combinar o unir piezas de archivo.

Cómo dividir archivos por tamaño en Linux:

Para el primer ejemplo de este tutorial, usaré una imagen ISO de Windows de 5 GB llamada Win10x64.YO ASI. Para aprender el tamaño del archivo que desea dividir, puede usar el du -h Comando, como se muestra en la captura de pantalla a continuación.

du -h

Como puede ver, el tamaño del archivo es 5GB. Para dividirlo en 5 archivos de 1 GB cada uno, puede usar el dividir comando seguido de la -b bandera y el tamaño de archivos divididos que desea. El GRAMO La definición de la unidad de tamaño para GB puede ser reemplazada por METRO para megabytes o B para bytes.

dividido -B 1G Win10x64Pro.YO ASI

Como puede ver, el ISO se dividió en 5 archivos nombrados xaa, xab, xac, xad y xae.

Por defecto, el dividir Nombres de comandos Archivos generados en el ejemplo anterior, donde XAA es la primera parte, xab la segunda parte, XAC el tercero, etc. Como se muestra en el siguiente ejemplo, puede cambiar esto y definir un nombre, dejando el nombre predeterminado como una extensión.

dividido -B 1G Win10x64Pro.Ventanas iso.

Como puede ver, todos los archivos se denominan Windows.*, La extensión del nombre dado por el comando dividido, que nos permite conocer el orden de los archivos.

Al usar el comando dividido, puede implementar verbosidad para que el comando imprima el progreso, como se muestra en la siguiente captura de pantalla.

división --verbosa -b 1G win10x64pro.Ventanas iso.

Como puede ver, la salida de progreso muestra la fase de la división de archivos. El siguiente ejemplo muestra cómo dividir los archivos en unidades MB. El archivo es un archivo de 85 MB.

dividir --verbose -b 20m virtualbox.Deb Virtualbox.debutante.

El comando dividido incluye características interesantes adicionales que no se explican en este tutorial. Puede obtener información adicional sobre el comando dividido en https: // man7.org/Linux/Man-Pages/Man1/Split.1.html.

Cómo dividir archivos por contenido en Linux usando CSplit:

En algunos casos, los usuarios pueden querer dividir archivos en función de su contenido. Para tales situaciones, la explicada anteriormente dividir El comando no es útil. La alternativa a lograr esto es el csplit dominio.

En esta sección tutorial, aprenderá cómo dividir un archivo cada vez que se encuentre una expresión regular específica. Usaremos un libro y lo dividiremos en capítulos.

Como puede ver en la imagen a continuación, tenemos 4 capítulos (fueron editados para permitirle ver las divisiones del capítulo). Digamos que desea cada capítulo en un archivo diferente. Para esto, la expresión regular que usaremos es "Capítulo".

Sé que hay 4 capítulos en este libro, por lo que necesitamos especificar el número de divisiones que queremos evitar errores. En los ejemplos a continuación, explico cómo dividir sin saber el número de expresiones o divisiones regulares. Pero en este caso, sabemos que hay 4 capítulos; Por lo tanto, necesitamos dividir el archivo 3 veces.

Ejecute csplit seguido del archivo que desea la división, la expresión regular entre barras y el número de divisiones entre los aparatos ortopédicos, como se muestra en el siguiente ejemplo.

Csplit Linuxhint.txt / capítulo / 3

La salida que vemos es el recuento de bytes para cada pieza de archivo.

Como puede ver, se crearon 5 archivos, el espacio vacío antes de que el Capítulo 1 también se dividiera.

Los archivos se nombran como cuando se usa el comando dividido explicado previamente. Veamos cómo se dividieron.

El primer archivo, xx00 está vacío, es el espacio vacío antes de la primera vez el "Capítulo"Aparece la expresión regular y el archivo se divide.

La segunda pieza muestra solo el primer capítulo correctamente.

La tercera pieza muestra el capítulo 2.

La cuarta pieza muestra el capítulo tres.

Y la última pieza muestra el capítulo 4.

Como se explicó anteriormente, se especificó el número de expresiones regulares para evitar un resultado incorrecto. Por defecto, si no especificamos el número de divisiones, CSplit solo cortará el archivo una vez.

El siguiente ejemplo muestra la ejecución del comando anterior sin especificar el número de divisiones.

Csplit Linuxhint.txt /capítulo /

Como puede ver, solo se produjeron una división y dos archivos porque no especificamos el número de divisiones.

Además, si escribe un número incorrecto de divisiones, por ejemplo, 6 divisiones con solo 4 expresiones regulares, recibirá un error y no se producirá una división, como se muestra en el ejemplo a continuación.

Entonces, qué hacer cuando el contenido es demasiado largo, y no sabes cuántas expresiones regulares para dividir tienes en el contenido?. En tal situación, necesitamos implementar el comodín.

El comodín producirá muchas piezas como expresiones regulares que se encuentran en el documento sin la necesidad de que las especifique.

Csplit Linuxhint.txt / capítulo / *

Como puede ver, el archivo se dividió correctamente.

El comando csplit incluye características interesantes adicionales que no se explican en este tutorial. Puede obtener información adicional sobre el comando dividido en https: // man7.org/Linux/Man-Pages/Man1/CSplit.1.html.

Cómo combinar o unir los archivos:

Ahora sabe cómo dividir archivos según el tamaño o el contenido. El siguiente paso es combinar o unir los archivos. Una tarea fácil usando el gato dominio.

Como puede ver a continuación, si leemos todas las piezas de archivo usando CAT y el comodín, el gato El comando los ordenará por el orden alfabético de sus nombres.

gato xx*

Como puede ver, los gatos son capaces de ordenar los archivos correctamente. Unirse o fusionar los archivos consiste en exportar este resultado; Puede hacerlo como se muestra en el siguiente ejemplo, donde el archivo combinado es el nombre del archivo combinado.

Cat xx*> Combinada

Como puede ver en la siguiente imagen, el archivo se fusionó correctamente.

Menos combinado

Conclusión:

Como puede ver, dividir los archivos en piezas en Linux es bastante fácil, y solo debe ser consciente de cuál es la herramienta adecuada para su tarea. Vale la pena que cualquier usuario de Linux aprenda estos comandos y sus ventajas, por ejemplo, al compartir archivos a través de una conexión inestable o a través del tamaño del archivo que limita los canales. Ambas herramientas tienen muchas características adicionales que no se explicaron en este tutorial, y puede leer sus páginas de hombre.

Espero que este tutorial explicar cómo dividir un archivo en piezas en Linux haya sido útil. Sigue este sitio para obtener más consejos y tutoriales de Linux.