상위 폴더 없이 동일한 구조의 디렉터리에 파일을 복사합니다.

상위 폴더 없이 동일한 구조의 디렉터리에 파일을 복사합니다.

.html한 곳에서 다른 곳으로 복사해야 하는 파일이 있습니다 .

소스 폴더에는 를 제외한 파일이 포함되어 있으므로 .html먼저 파일만 찾은 .html다음 동일한 구조를 유지하면서 다른 디렉터리에 복사해야 합니다.

이 같은:

cp --parents `find ./src -name '*.html'` ./dist

./dist/src/**/*.js문제 는 파일이 ./dist/**/*.js.

요약하자면, 원본 상위 폴더 없이 한 폴더에서 다른 폴더로 모든 파일(폴더 구조를 유지하면서)을 복사하고 싶습니다.

예를 들어:

src/
  folder1/
    a.html
    a.x
  folder2/
    folder3/
      b.html

도착하다

dist/
  folder1/
    a.html
  folder2/
    folder3/
      b.html

답변1

rsync -rmv --include='*/' --include='*.html' --exclude='*' src/ dest

-r 재귀, -m 빈 디렉토리 정리, -v 자세한 정보. 기본적으로 rsync는 모든 것을 복사하므로 .html 접미사가 있는 파일만 포함하고 나머지는 모두 제외합니다. --include='*/'rsync를 디렉토리에 강제로 적용하기 위해 존재합니다. rsync가 없으면 아무 것도 복사되지 않습니다. /src 자체가 dest에 복사되지 않도록 후행 src 가 중요합니다.

man rsync스키마, 소유권 등을 복사할지 확인 하고 관련 옵션을 추가합니다.

관련 정보