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


13

5つのファイルをどこかに移動できます:

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

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

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

を使用しないことは可能for loopですか?

回答:


12

これを試して

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

(自分で試すためにここにbashを置かないでください)


6
置き換えるfor f in $ffor f in $(seq 5)
ダンD.

1
を使用しないことは可能for loopですか?
ケブ

@kev-私はいつもこの方法でそれを見ました。また、より多くのreadabe。
ルーク

3
@ kev、forループの何が問題になっていますか?これはforループがfor ...であるものです
-soandos

3
@DanD .: seqBashでは必要ありません。あなたは使用することができますfor f in {1..5}for ((f=1; f<=5; f++))
追って通知があるまで一時停止しました。


4

試してくださいtee

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

またはparallel

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

3

あなたは使用して...ループせずにそれを行うことができますteeし、{}ブレース展開。

編集:(デニス・ウィリアムソンのコメントに従って修正:

「my-.jpg」という名前のファイルの場合

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

1
evalを使用する必要はありません。<"$pre$suf" tee "$pre"{1..5}"$suf"うまく動作します。
追って通知があるまで一時停止します。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.