Bir komutta iki dosya türü rsync?


13

Aynı yolu tekrar etmeden bunları bir satıra nasıl yazabilirim?

rsync -a root@somewhere:/folder/remote/*.txt .
rsync -a root@somewhere:/folder/remote/*.jpg .

Yanıtlar:


18

Ben şöyle yazardım:

rsync -a root@somewhere:/folder/remote/*.{txt,jpg} .

7
Bu, herhangi bir komutla kullanabileceğiniz genel bir tekniktir. Kabuk, ayraç ifadesini listedeki her bir öğeyle değiştirerek argümanı tekrarlar. Buna küme ayracı genişletme
Shawn J. Goff

11
rsync -a --include='*.txt' --include='*.jpg' --exclude='*' root@somewhere:/folder/remote/ .

(Not nihai o /in /folder/remote/ve yerleştirme --exclude='*'kurallarını içermektedir sonra, önemlidir.) Desteği ayracı genişleme olduğunu kabukları (örneğin bash, ksh, zsh) In:

rsync -a --include='*.'{txt,jpg} --exclude='*' root@somewhere:/folder/remote/ .

--include='*/' --prune-empty-dirsAlt dizinlerdeki dosyaları da kopyalamak istiyorsanız ekleyin .


rsync 3 * * joker karakterlerinde başarısız gibi görünüyor, include | exclude olsa da iyi çalışıyor.
briankip
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.