Como posso fazer 5 cópias de um arquivo facilmente?

Como posso fazer 5 cópias de um arquivo facilmente?

Posso mover 5 arquivos para algum lugar usando:

$ mv my-{1..5}.jpg /path/to/dir/

Como posso fazer cópia de um arquivo 5 vezes facilmente

# doesn't work
$ cp my.jpg my-{1..5}.jpg

É possível não usar um for loop?

Responder1

Experimente isso

for f in {1..5}; do cp my.jpg my$f.jpg; done

(não tenho bash aqui para tentar sozinho)

Responder2

Aqui está uma maneira de fazer isso sem forloop e sem os riscos de usar eval:

printf '%s\n' {1..5} | xargs -I {} cp my.jpg my-{}.jpg

Ainda é efetivamente um loop.

Responder3

Tentar tee:

tee <my.jpg >/dev/null my-{1..5}.jpg

Ou parallel:

parallel cp my.jpg ::: my-{1..5}.jpg

Responder4

Você pode fazer isso sem um loop.. usando teee {}expansão de suporte.

EDITAR:(alterado conformeDennis WilliamsonComente:

Para um arquivo chamado "my-.jpg"

pre="my-"; suf=".jpg"
<"$pre$suf" tee "$pre"{1..5}"$suf" >/dev/null

informação relacionada