rsync를 사용하여 특정 확장자를 가진 특정 파일 이름을 제외한 모든 파일을 복사하십시오.


28

두 개의 동일한 크기의 플래시 카드가 있으며 다음 규칙에 따라 하나의 내용을 다른 내용으로 복사하려고합니다.

  1. 모든 디렉토리와 하위 디렉토리를 원합니다
  2. .FOO, .BAR 및 .ZIM 유형의 파일을 제외하고 싶습니다 (다른 모든 파일은 복사 됨)
  3. 보너스 : ~ 8GB의 정보를 복사 할 것을 고려할 때 파일 이름이 복사 될 때 출력되면 멋지다.

어떻게 든 "찾기"로이 작업을 수행 할 수 있습니까?

답변:


41

스위치 와 함께 rsync 를 사용 하면 훨씬 쉬울 것 입니다.--exclude

rsync -av --exclude='*.FOO' --exclude='*.BAR' --exclude='*.ZIM' /source /dest

-v스위치는 파일이 동기화되고있는 자세한 출력을 제공합니다.


약간의 후속 조치 : 복사가 완료되었으며 / src / *가 이제 / dest / src / *에 있습니다. rsync를 사용하여 / dest / *에서 / src / *를 얻는 방법은 무엇입니까?
macek

시도/source/ /dest
John T

작동하지 않습니다. 여전히 * .FOO 파일이 복사되는 것을보고 있습니다.
Jake

경로를 지정하는 방법이 지정되어 --exclude있습니다. 문제가 있으면 이 답변을 확인하십시오 .
totymedli

0

제외 할 확장명이 많은 경우 파일을 만들고 모든 확장명 또는 파일을 적어 제외하고 제외 옵션을 하나만 사용하여 간단하게 만들 수 있습니다.

rsync -ravz --exclude = '. / abc, txt'/ source / dest

재귀 적으로 복사해야하는 경우 압축 및 r 옵션에 z를 사용하는 것이 좋습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.