Ответы:
Попробуй это
for f in {1..5}; do cp my.jpg my$f.jpg; done
(здесь нет bash, чтобы попробовать самому)
for loop
?
seq
не обязательно в Bash. Вы можете использовать for f in {1..5}
илиfor ((f=1; f<=5; f++))
Вот способ сделать это без for
цикла и без рисков использования eval
:
printf '%s\n' {1..5} | xargs -I {} cp my.jpg my-{}.jpg
Это все еще эффективно петля.
Вы можете сделать это без зацикливания .. используя расширение tee
и {}
скобки.
РЕДАКТИРОВАТЬ: (исправлено согласно комментарию Денниса Уильямсона :
Для файла с именем "my-.jpg"
pre="my-"; suf=".jpg"
<"$pre$suf" tee "$pre"{1..5}"$suf" >/dev/null
<"$pre$suf" tee "$pre"{1..5}"$suf"
работает просто отлично.
for f in $f
наfor f in $(seq 5)
.