Herramientas de usuario

Herramientas del sitio


tutoriales:cortar_split_cat

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
tutoriales:cortar_split_cat [2016/08/01 13:12]
hugo Ligera ampliación y agregada atribución
tutoriales:cortar_split_cat [2020/04/22 20:57] (actual)
Línea 1: Línea 1:
 +====== Cómo cortar archivos con split y unirlos con cat ======
  
 +===== Introducción =====
 +
 +A veces puede ser necesario fraccionar un archivo para su transmisión por correo en partes, o para colocarlo en un FTP o sitio web para su descarga por partes. Una forma de hacerlo es mediante compresores que permiten volúmenes múltiples, pero con el comando ''​split''​ también podemos separar/​cortar archivos en fragmentos, para luego unirlos con ''​cat''​.
 +
 +===== Comandos =====
 +
 +Los comandos ''​split''​ y cat suelen venir en todas las distribuciones de GNU/Linux, y no son difíciles de utilizar. Por ejemplo, con el siguiente comando fraccionaremos el archivo ''​prueba.dat''​ y obtendremos archivos de 1 MiB llamados **cortadoaa**,​ **cortadoab**,​ **cortadoac**,​ etc.
 +
 +<​code>​$ split -b 1M prueba.dat cortado</​code>​
 +
 +Con el comando ''​cat''​ podemos unir todas las partes del archivo para asi restaurarlo (ojo, que todos deben de encontrarse en el mismo directorio).
 +
 +<​code>​$ cat cortado* > prueba.dat</​code>​
 +
 +Puede darse el caso de que un archivo sea grande y necesitemos fraccionarlo en muchos fragmentos pequeños (por ejemplo de 1 MiB). Para tales casos, es mejor utilizar un sufijo numérico:
 +
 +<​code>​$ split -b 1M -d -a 3 archivo.dat archivo.dat.</​code>​
 +
 +Asi obtendremos fragmentos de 1 MiB llamados **archivo.dat.000**,​ **archivo.dat.001**,​ etc.
 +
 +''​-b''​ Indica el tamaño en que se desean obtener los archivos, puede especificarse en KiB (''​-b 200K''​),​ en MiB (''​-b 1M''​),​ en GiB (''​-b 1G''​),​ etc. Por ejemplo, dado que a veces los buzones de correo tienen un límite de 1 MiB y que al adjuntar un archivo binario (cualquier programa o documento que no esté en formato de texto simple) este suele crecer aproximadamente 1/3 (como efecto de la codificación de binario a texto), si deseamos enviar un archivo de 2 MiB por correo, podríamos utilizar split con el parámetro ''​-b 720K''​ y entonces enviar los fragmentos como adjuntos, uno por mensaje.
 +
 +''​-d''​ Indica que se desea utilizar sufijos numéricos en lugar de alfabéticos.
 +
 +''​-a''​ Permite especificar cuantos dígitos deseamos (por defecto son 2).
 +
 +Si por algún motivo deseamos cerciorarmos que al concatenar las partes se hará en el orden correcto, podríamos hacer algo como esto:
 +
 +<​code>​$ cat `find /​ruta/​origen -type f -iname "​archivo.dat.*"​ | sort` > /​ruta/​destino/​archivo.dat</​code>​
 +
 +En el caso de un archivo de texto, también podríamos especificar cada cuántas líneas ''​split''​ debe cortar el archivo, mediante el parámetro ''​-l número''​
 +
 +Para más información,​ consultar el manual:
 +
 +<​code>​
 +$ man split
 +$ man cat
 +</​code>​
 +
 +===== Atribuciones =====
 +
 +  * **Autor:** Hugo Florentino