Script clonador de cabras, versión 2,1.
Este mensaje es para contestar a la pregunta que un usuario empuja ratones publicó en otro post, pero como ese post se llenó de hilos, que más que un post parece ya una telaraña...,
¿Script para duplicar archivo numerándolo?
..., decidí abrir uno nuevo aquí.
Creo que lo conseguí. Se me ocurrió meter los duplicados en un directorio y punto. El script crea el directorio "duplicados" y mete ahí el trabajo, dejando intacto el fichero original, aunque éste tenga el mismo nombre que alguno de los duplicados.
Por ejemplo, tenemos un fichero llamado "nombre.7z.001", y queremos hacer 17 duplicados llamados "nombre.7z.001" hasta "nombre.7z.017". Se ejecutaría así:
"nombre_del_script" "nombre_fichero_a_duplicar" "nombre_ficheros_clonados" "número copias", o sea:
$ ./script.sh nombre.7z.001 nombre.7z. 17
Este es el resultado:
$ cd duplicados; ls
nombre.7z.001 nombre.7z.005 nombre.7z.009 nombre.7z.013 nombre.7z.017
nombre.7z.002 nombre.7z.006 nombre.7z.010 nombre.7z.014
nombre.7z.003 nombre.7z.007 nombre.7z.011 nombre.7z.015
nombre.7z.004 nombre.7z.008 nombre.7z.012 nombre.7z.016
Este es el script:
############################
#!/bin/bash
mkdir duplicados
cabra=0
while [ "$cabra" -lt "$3" ]
do
cp $1 duplicados/$2$cabra
cabra=`expr $cabra + 1`
done
cd duplicados
for file in $2*; do
printf -vqueso $2'%03d' "$((++i))"
[[ -e $queso ]] || \
mv "$file" "$queso"
done
###############################
Sigue siendo una chapuza, pero a lo mejor vale así. A ver si alguien, que no sea un pinche empuja ratones, lo mejora usando menos líneas de código.
Si el directorio "duplicados" ya existe, bash avisa y punto, pero se podría añadir unas líneas al script, para en caso de ya existir ese directorio, que empuje un echo diciendo si se quiere usar dicho directorio, si se quiere meter las cosas ahí dentro, pero creo que no es necesario.
Con este script, versión 2,1, ahora da igual si el fichero original tiene el mismo nombre que algún fichero duplicado. La ventaja de este script es que puedes hacer el número de copias que quieras, y darle el nombre que quieras a las copias. En cualquier caso, puedes modificar el código para adaptarlo a tus necesidades.
Saludos, pinches roedores.
Espero no haberme comido ningún tag br, pues para eso me tomé un café cargado, pero por el color más parecía un café cagado.