Comment puis-je copyr un sous-set de files à partir d'un directory tout en préservant la structure du dossier?

Je veux déplacer un sous-set de files de dirA vers dirB (disons des files avec "bla" dans le nom de file), mais je veux que tous les directorys nesteds soient les mêmes dans le nouvel location. Comment puis je faire ça?

    La magie des règles de filtrage rsync :

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

    Consultez la page de manuel rsync pour les détails sur les règles de filtrage, mais voici la version condensée pour ce besoin particulier.

    --filter="+ */" signifie "inclure tout ce qui est un directory"

    --filter="-! *blah* signifie" exclure tout ce qui n'inclut PAS bla dans le nom de file "

    Cela a fonctionné pour moi:

    rsync -ave 'ssh -p 22' --filter="+ */" --exclude="*_blah.blah" [email protected]:/source/directory/ /destination/directory/

    Le commutateur -e définit le protocole de transfert rsync avec le port comme -p 22 . De plus, les trailing / slashes sont importants pour faire savoir au programme qu'il s'agit de directorys.

    Merci @ pdo pour les heures supplémentaires de ma journée de travail!