Bagaimana saya bisa menyalin subset file dari direktori sambil menjaga struktur folder?


Jawaban:


9

Keajaiban rsyncaturan filter:

$ rsync -av --filter="+ */" --filter="-! *blah*" /source /dest

Konsultasikan rsynchalaman manual untuk perincian tentang aturan filter, tapi ini versi kental untuk kebutuhan khusus ini.

--filter="+ */" berarti "termasuk semua yang merupakan direktori"

--filter="-! *blah* berarti "kecualikan semua yang TIDAK termasuk bla dalam nama file"


3

Jika Anda perlu menyalin file-file ini, cp akan melakukannya:

cd dirA
find . -iname "*blah*" | xargs -If cp --parents f dirB

Opsi --parentsmempertahankan subdir - ini menciptakan jalur direktori lengkap untuk tujuan.


sintaks di sini jauh lebih jelas daripada rsync
Matěj Šmíd

0

Ini bekerja untuk saya:

rsync -ave 'ssh -p 22' --filter="+ */" --exclude="*_blah.blah" uid@555.55.555.55:/source/directory/ /destination/directory/

The -emendefinisikan beralih rsyncmentransfer protokol dengan pelabuhan sebagai -p 22. Juga, /garis miring trailing penting untuk membuat program tahu itu berurusan dengan direktori.

Terima kasih @pdo atas waktu ekstra di hari kerja saya!

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.