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

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

dir1에서 해당 파일 이름이 동일한 모든 파일을 찾아 dir2의 파일로 바꾸고 싶습니다 dir2.

예를 들어:

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

dir1그래서 이전 first.txt파일을 제거 first.txt하고 dir2.

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/

관련 정보