rsync, belirli bir alt klasör derinliğiyle özyinelemeli


17

rsyncÖzyinelemeli bir klasöre istiyorum, ancak alt klasörlerin yalnızca belirli bir derinliğe dahil edilmesini istiyorum.

Örneğin, böyle 1,2,3 veya 4 alt klasör derinliği istiyorum:

source/
├── subfolder 1
   ├── subsubfolder
      ├── subsubsubfolder
         └── wanted with depth 4.txt
      └── wanted with depth 3.txt
   └── wanted with depth 2.txt
├── subfolder 2
   └── wanted with depth 2.txt
└── wanted with depth 1.txt

Yanıtlar:


26

--exclude=Seçeneği kolaylaştırın .

2 derinliğe eşitlemek için (klasör ve alt klasörlerdeki dosyalar):

rsync -r --exclude="/*/*/" source/ target/

Size bunu verecektir:

target/
├── subfolder 1
   └── wanted with depth 2.txt
├── subfolder 2
   └── wanted with depth 2.txt
└── wanted with depth 1.txt

3 derinliğe eşitlemek için (klasör, alt klasörler ve alt klasörlerdeki dosyalar):

rsync -r --exclude="/*/*/*/" source/ target/

sana vereceğim:

target/
├── subfolder 1
   ├── subsubfolder
      └── wanted with depth 3.txt
   └── wanted with depth 2.txt
├── subfolder 2
   └── wanted with depth 2.txt
└── wanted with depth 1.txt
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.