Как легко сделать 5 копий одного файла?

Как легко сделать 5 копий одного файла?

Я могу переместить 5 файлов куда-нибудь с помощью:

$ mv my-{1..5}.jpg /path/to/dir/

Как можно легко сделать копию одного файла 5 раз?

# doesn't work
$ cp my.jpg my-{1..5}.jpg

Можно ли не использовать for loop?

решение1

Попробуй это

for f in {1..5}; do cp my.jpg my$f.jpg; done

(у меня нет Баша, чтобы попробовать самому)

решение2

Вот способ сделать это без forцикла и без рисков, связанных с использованием eval:

printf '%s\n' {1..5} | xargs -I {} cp my.jpg my-{}.jpg

По сути, это все еще замкнутый цикл.

решение3

Пытаться tee:

tee <my.jpg >/dev/null my-{1..5}.jpg

Или parallel:

parallel cp my.jpg ::: my-{1..5}.jpg

решение4

Вы можете сделать это без цикла... используя teeраскрытие {}фигурных скобок.

РЕДАКТИРОВАТЬ:(изменено в соответствии сДеннис Уильямсонкомментарий:

Для файла с именем "my-.jpg"

pre="my-"; suf=".jpg"
<"$pre$suf" tee "$pre"{1..5}"$suf" >/dev/null

Связанный контент