rsync पुनरावर्ती सबफ़ोल्डर्स की एक निश्चित गहराई के साथ


17

मैं rsyncएक फ़ोल्डर को पुनरावर्ती रूप से चाहता हूं लेकिन सबफ़ोल्डर्स को केवल एक निश्चित गहराई तक शामिल करना चाहता हूं।

उदाहरण के लिए मैं 1,2,3 या 4 सबफ़ोल्डर्स की गहराई चाहता हूँ:

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

जवाबों:


26

--exclude=विकल्प की सुविधा ।

2 की गहराई से सिंक करने के लिए (फ़ोल्डर और सबफ़ोल्डर्स के भीतर फाइलें):

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

यह आपको यह देगा:

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

3 की गहराई के लिए सिंक करने के लिए (फ़ोल्डर, सबफ़ोल्डर्स और सबबॉफ़ल्डर्स के भीतर फाइलें):

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

तुम्हे दूंगा:

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
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.