두 디렉터리 사이에서 동일한 파일을 모두 찾아 바꾸기

두 디렉터리 사이에서 동일한 파일을 모두 찾아 바꾸기

에서 해당 파일 이름 이 dir1동일한 모든 파일을 찾아서 .dir2dir2

예를 들어:

dir1: first.txt second.txt
dir2: third.txt first.txt

그래서 dir1이전 파일을 삭제 first.txt하고 .first.txtdir2

Bash 터미널을 사용하여 이를 어떻게 달성할 수 있나요?

답변1

실제로 원하는 작업을 정확하게 수행하는 명령이 있습니다.

rsync -av --existing dir2/ dir1/

파일이 dir1에 이미 있는 경우에만 dir2에서 dir1로 파일을 반복적으로 복사합니다.

이러한 -av옵션은 rsync를 사용하여 파일을 복사하는 데 일반적으로 사용하는 옵션입니다.

--existing옵션은 rsync싱크에서 새 파일 생성을 건너뛰도록 지시합니다.

rsync대부분의 명령에서 슬래시는 rsync와 다르게 동작하므로 명령줄의 dir2/에 후행 슬래시를 추가해야 합니다 .

rsync와 유사하게 웹을 통해서도 사용할 수 있습니다 scp.

rsync다양한 유형의 파일 동기화, 업데이트 및 백업 작업을 처리할 수 있습니다.

답변2

rsync는 --existing다음 옵션을 사용하여 이를 수행할 수 있습니다:

rsync -v --existing dir2/* dir1/

관련 정보