Respostas:
Tente isto
for f in {1..5}; do cp my.jpg my$f.jpg; done
(não tem festança aqui para tentar eu mesmo)
for loop
?
seq
não é necessário no Bash. Você pode usar for f in {1..5}
oufor ((f=1; f<=5; f++))
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.
Você pode fazer isso sem um loop. Usando tee
e {}
preparando a expansão.
EDIT: (alterado conforme o comentário de Dennis Williamson :
Para um arquivo chamado "my-.jpg"
pre="my-"; suf=".jpg"
<"$pre$suf" tee "$pre"{1..5}"$suf" >/dev/null
<"$pre$suf" tee "$pre"{1..5}"$suf"
funciona muito bem.
for f in $f
porfor f in $(seq 5)
.