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/