Réponses:
Essaye ça
for f in {1..5}; do cp my.jpg my$f.jpg; done
(je n'ai pas besoin de m'essayer ici)
for loop
?
seq
n'est pas nécessaire dans Bash. Vous pouvez utiliser for f in {1..5}
oufor ((f=1; f<=5; f++))
Voici une façon de le faire sans for
boucle et sans les risques d'utilisation eval
:
printf '%s\n' {1..5} | xargs -I {} cp my.jpg my-{}.jpg
C'est toujours effectivement une boucle.
Vous pouvez le faire sans boucle .. en utilisant tee
et l' {}
expansion d'accolade.
EDIT: (modifié selon le commentaire de Dennis Williamson :
Pour un fichier nommé "my-.jpg"
pre="my-"; suf=".jpg"
<"$pre$suf" tee "$pre"{1..5}"$suf" >/dev/null
<"$pre$suf" tee "$pre"{1..5}"$suf"
fonctionne très bien.
for f in $f
parfor f in $(seq 5)
.