J'essaie de copier les fichiers yaml de mon projet dans un dossier dist, en préservant la structure. Cependant, il copie node_modules
dont je ne veux pas. Comment puis-je exclure avec rsync et pourquoi ma commande ci-dessous ne fonctionne-t-elle pas ?
rsync -R --exclude=node_modules ./**/**.yaml dist
Notez que j'ai essayé les variantes, etc :
rsync -R --exclude= node_modules ./**/**.yaml dist
rsync -R --exclude 'node_modules' ./**/**.yaml dist
ma structure de dossier :
projectroot
|--config/file.yaml
|
|--node_modules/somedir/somefile.yaml
|
|--src/somefolder/somefile.yaml
et je veux que ce qui précède apparaisse dans ma dist comme :
dist
|--config/file.yaml
|
|--src/somefolder/somefile.yaml
Réponse acceptée :
J'ai fini par choisir :
rsync -avrmR --exclude='node_modules/' --include='*/' --include='*.yaml' --exclude='*' ./ ./dist
Comment cela fonctionne est-il d'abord exclure tout ce qui se trouve dans le dossier node_modules, puis inclure tous les répertoires, puis inclure uniquement les fichiers yaml, puis exclure tout le reste.