Muestra las diferencias entre dos versiones de la página.
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 |