Відповіді:
Спробуйте це
for f in {1..5}; do cp my.jpg my$f.jpg; done
(не майте баш тут, щоб спробувати сам)
for loop?
seqБаш не потрібен. Ви можете використовувати 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та {}розширення дужок.
EDIT: (доповнено відповідно до Денніса Вільямсона коментаря :
Для файлу з назвою "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).