Quais são algumas maneiras rápidas de fazer N cópias de um arquivo específico?

Quais são algumas maneiras rápidas de fazer N cópias de um arquivo específico?

Digamos, se eu quisesse fazer Ncópias de a.txt, e quisesse que elas fossem numeradas a1.txt, a2.txt, a3.txt, etc...

Como eu faria uma coisa dessas de forma sucinta?

Responder1

cpem si só pode fazer uma cópia (de um único arquivo) por vez, mas não é muito difícil com um loop rápido:

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

Responder2

Supondo que você tenha seu valor N em uma variável bash:

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

ou

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

ou com o loop mostrado na resposta de Kevin.

Responder3

As soluções que utilizam cpsão um tanto ineficientes, pois não é necessário ler os mesmos arquivos Npara fazer Ncópias. Pode-se usar teeem vez disso:

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

Responder4

Se quiser algo mais descolado, você pode por exemplo fazer: for t in $(seq --format="funky-%03.0f-numbered.txt" 25 3 40); do cp orig $t; done.

informação relacionada