Mostrando entradas con la etiqueta hjsplit. Mostrar todas las entradas
Mostrando entradas con la etiqueta hjsplit. Mostrar todas las entradas

lunes, 3 de enero de 2011

script bash para dividir archivos

Si usas linux y quieres dividir un archivo grande para luego unirlo en otra maquina usando cat o hjsplit este script puede servirte; para dividir el archivo podemos usar el comando split, pero hjsplit espera que los archivos estén numerados desde el 001 y split genera archivos empezando desde el 000.

solucion?, dividir el archivo y luego renombrar las partes generadas.

1. para saber cuantos archivos se generan, podemos dividir el archivo y ver en cuantas partes se divide usando la opcion verbose y wc:
parts=`split -d -b 50M -a 3 --verbose archivo-entrada archivo-salida | wc -l`
2. conociendo cuantos archivos se crearon, podemos renombrar los archivos empesando desde al ultimo:
while [ $parts -gt 0 ]; do
    # sufijo del archivo
    old_suf=`printf "%03d" "$(($parts-1))`
    # sufijo nuevo
    new_suf=`printf "%03d" "$parts"`
    #renombramos archivo
    mv "$1.$old_suf" "$1.$new_suf"
    # disminuimos $parts
    parts=$((parts-1))
done
el script completo lo pueden descargar desde el siguiente enlacce:
Solo tienen que dejarlo en la carpeta de nautilus-scripts (~/.gnome2/nautilus-scripts), darle permisos de ejecución y listo :)

P.D: este es el segundo script en bash de mas de 3 lineas que hago, así que si encuentran algún error me avisan para ir mejorando u_u
 
© 2009 NovatoZ. All Rights Reserved | Powered by Blogger
Design by psdvibe | Bloggerized By LawnyDesignz