1 つのファイルのコピーを 5 つ簡単に作成するにはどうすればよいでしょうか?

1 つのファイルのコピーを 5 つ簡単に作成するにはどうすればよいでしょうか?

次を使用して 5 つのファイルをどこかに移動できます。

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

1つのファイルを簡単に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

(自分で試すための bash がここにはありません)

答え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

関連情報