multicopy.sh

Otro de esos programas para demostrar que la programación puede ser tan absurda como la poesía.

En esta ocasión, el código simplemente realiza 27 copias (las que se decida en función de un parámetro incluido en el mismo) de un archivo dado su nombre y su extensión.

No sirve para mucho más, pero puede ser útil para saber cómo realizar bucles «for» con bash (shell script) y también para recordar cómo se usa «printf» como herramienta para crear cadenas nuevas (a modo de sprintf o para escribir a la salida estandar.

#!/bin/bash 
nombre="27signos" 
extension="odt" 
nombreoriginal=$(printf '%s.%s' "$nombre" "$extension") 

for ((i=1; i<28; i++)); 
do fichero=$(printf '%s_%02d.%s' "$nombre" "$i" "$extension") 
echo -e $(printf "Fichero original |||%s||| copiado |||%s|||" "$nombreoriginal" "$fichero") 
cp $nombreoriginal $fichero 
done

 

Esto no es una broma