내 프로젝트의 yaml 파일을 구조를 유지하면서 dist 폴더로 복사하려고 합니다. 그러나 그것은 node_modules
내가 원하지 않는 사본입니다. rsync 제외를 어떻게 사용하며 다음 명령이 작동하지 않는 이유는 무엇입니까?
rsync -R --exclude=node_modules ./**/**.yaml dist
참고 변형 등을 시도했습니다.
rsync -R --exclude= node_modules ./**/**.yaml dist
rsync -R --exclude 'node_modules' ./**/**.yaml dist
내 폴더 구조:
projectroot
|--config/file.yaml
|
|--node_modules/somedir/somefile.yaml
|
|--src/somefolder/somefile.yaml
위의 내용이 내 dist에 다음과 같이 표시되기를 원합니다.
dist
|--config/file.yaml
|
|--src/somefolder/somefile.yaml
답변1
나는 마침내 다음을 선택했습니다.
rsync -avrmR --exclude='node_modules/' --include='*/' --include='*.yaml' --exclude='*' ./ ./dist
작동 방식은 먼저 node_modules 폴더의 모든 항목을 제외하고 모든 디렉터리를 포함시킨 다음 yaml 파일만 포함하고 다른 모든 항목은 제외하는 것입니다.
답변2
나는 다음과 같이 이 작업을 수행했습니다.
$ rsync -r --exclude="node_modules" projectroot/* dist/