하나의 명령으로 두 가지 파일 형식을 재 동기화합니까?


13

같은 경로를 반복하지 않고 한 줄에 쓰는 방법은 무엇입니까?

rsync -a root@somewhere:/folder/remote/*.txt .
rsync -a root@somewhere:/folder/remote/*.jpg .

답변:


18

나는 이것을 다음과 같이 쓸 것이다.

rsync -a root@somewhere:/folder/remote/*.{txt,jpg} .

7
이것은 모든 명령에 사용할 수있는 일반적인 기술입니다. 쉘은 인수를 반복하여 중괄호 표현식을 목록의 각 항목으로 바꿉니다. 그것은라고 브레이스 expantion
숀 J. 고프

11
rsync -a --include='*.txt' --include='*.jpg' --exclude='*' root@somewhere:/folder/remote/ .

(주 최종 것을 /에서 /folder/remote/, 그리고 배치 --exclude='*'(가) 규칙을 포함 후에 중요하다.) 지원 중괄호 확장하는 쉘 (예 : bash는, KSH, zsh을)에서 :

rsync -a --include='*.'{txt,jpg} --exclude='*' root@somewhere:/folder/remote/ .

--include='*/' --prune-empty-dirs하위 디렉토리의 파일도 복사하려면 추가하십시오 .


와일드 카드에서 rsync 3 *가 실패한 것 같지만 include | exclude가 제대로 작동합니다.
briankip
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.