
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 for
loop 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 tee
e {}
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