¿Cuáles son algunas formas rápidas de hacer N copias de un archivo en particular?

¿Cuáles son algunas formas rápidas de hacer N copias de un archivo en particular?

Digamos, si quisiera hacer Ncopias de y quisiera que a.txtestuvieran numeradas a1.txt, a2.txtetc.a3.txt

¿Cómo haría algo así de manera sucinta?

Respuesta1

cppor sí solo puede hacer una copia (de un solo archivo) a la vez, pero no es demasiado difícil con un bucle rápido:

for i in {1..10}; do cp a.txt a$i.txt; done

Respuesta2

Suponiendo que tiene su valor N en una variable bash:

for i in `seq 1 $N`; do cp a.txt a$i.txt; done

o

for ((i=1;i<=$N;i++)); do cp a.txt a$i.txt; done

o con el bucle que se muestra en la respuesta de Kevin.

Respuesta3

Las soluciones que utilizan cpson algo ineficientes, porque no es necesario leer el mismo archivo Nvarias veces para hacer Ncopias. Se puede utilizar teeen su lugar:

cat a.txt | ( for i in `seq 1 $N`; do echo a"$i".txt; done | xargs tee )

Respuesta4

Si quieres algo más original, puedes, por ejemplo, hacer: for t in $(seq --format="funky-%03.0f-numbered.txt" 25 3 40); do cp orig $t; done.

información relacionada