두 개의 디렉토리가 있고 확장자가 .인 파일을 제외한 dir1
모든 파일 dir2
과 폴더를 복사하고 싶습니다 . 어떻게 해야 하나요?dir1
dir2
.txt
답변1
rsync
옵션과 함께 사용됩니다 --exclude
.
rsync -av --exclude '*.txt' dir1/ dir2/
답변2
POSIX적으로:
cd dir1 && LC_ALL=C pax -rwpe -'s|.*\.txt||' . ../dir2
적어도 구현에서http://www.mirbsd.org/pax.htm(예: MirBSD 또는 Debian pax
의 패키지에 있는 항목 ) .txt
기호 링크 이름 자체가 로 끝나지 않더라도 대상이 로 끝나는 기호 링크도 제외됩니다 .txt
.
또 다른 차이점은 rsync
제외 되지만목차이름이 로 끝나는 .txt
이러한 디렉터리의 txt가 아닌 파일은 제외되지 않습니다 . 를 추가하면 -s'|.*\.txt/.*||'
이러한 항목도 제외됩니다.
-pe
가능한 한 많은 메타데이터를 보존하십시오. 메타데이터 목록은 구현에 따라 다릅니다 pax
. ( ) 옵션을 사용하여 유지할 내용을 선택하세요 rsync
.-a
-rlptgoD
-AXUHN