![특정 확장자가 없는 모든 파일을 다른 디렉토리에 복사하는 방법은 무엇입니까?](https://linux55.com/image/199437/%ED%8A%B9%EC%A0%95%20%ED%99%95%EC%9E%A5%EC%9E%90%EA%B0%80%20%EC%97%86%EB%8A%94%20%EB%AA%A8%EB%93%A0%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20%EB%8B%A4%EB%A5%B8%20%EB%94%94%EB%A0%89%ED%86%A0%EB%A6%AC%EC%97%90%20%EB%B3%B5%EC%82%AC%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
두 개의 디렉토리가 있고 확장자가 .인 파일을 제외한 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