Bir dosyanın 5 kopyasını nasıl kolayca oluşturabilirim?


13

5 dosyayı kullanarak bir yere taşıyabilirsiniz:

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

Bir dosyanın kopyasını nasıl 5 kat kolayca oluşturabilirim

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

Kullanmamak mümkün mü for loop?

Yanıtlar:


12

Bunu dene

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

(burada kendim denemek için bash yok)


6
yerine for f in $fsahip for f in $(seq 5).
Dan D.

1
Mümkün mü değil bir kullanmak for loop?
kev

@kev - Her zaman böyle yapıldığını gördüm; ayrıca, daha fazla readabe.
Kale

3
@kev, for döngüsü ile sorun nedir? Bu döngüler için ne için ...
soandos

3
@DanD .: Bash'te seqgerekli değil. Sen kullanabilirsiniz for f in {1..5}veyafor ((f=1; f<=5; f++))
bir sonraki duyuruya kadar durdurulmuş.


4

Deneyin tee:

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

Veya parallel:

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

3

Bir döngü olmadan yapabilirsiniz .. genişleme kullanarak teeve {}küme ayracı.

EDIT: ( Dennis Williamson'ın yorumuna göre değiştirildi:

"My-.jpg" adlı bir dosya için

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

1
Eval kullanmak gerekli değildir. <"$pre$suf" tee "$pre"{1..5}"$suf"gayet iyi çalışıyor.
sonraki duyuruya kadar duraklatıldı.
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.