
나는 집에 다양한 사진, 오디오, 비디오 및 기타 데이터 파일이 들어 있는 두 개의 데비안 상자를 가지고 있습니다. 둘 다 무질서합니다. 정리하고 둘 사이에 중복된 파일을 제거하고 싶습니다. 어느 쪽에도 논리적 폴더 구조가 많지 않습니다.
이 작업을 수행하는 쉬운 방법이 있나요?
답변1
많은 변형이 있습니다. 나는 md5가 올바른 방향으로 가고 있다고 생각하지만 SHA 합계를 사용하는 것이 약간 더 나을 것 같습니다. SHA1은 아마도 속도가 비슷하고 충돌 가능성이 낮을 것입니다. 어느 쪽이든 충돌 가능성은 극히 적습니다.
나는 다음과 같이 뭔가를 할 것입니다 -
- 각 상자에서 다음과 같은 명령을 사용하여 sha1 합계가 포함된 파일 목록을 만듭니다.
/path/to/files -type f -exec sha1sum {} + > pcX-sha1.lst 찾기
- 그런 다음 두 파일을 하나의 상자에 복사합니다. 이 작업을 수행하면 중복된 파일만 표시하는 sha 체크섬 목록을 찾을 수 있습니다. 파일이 같은 디렉토리에 있으면 다음과 같습니다.
cut -f1 -d" " pcX-sha1.lst pcY-sha1.lst | 정렬 | uniq -d > Duplicateshas.lst
마지막 목록은 다음과 같은 명령으로 수행할 수 있는 중복 파일을 찾는 것입니다.
$(cat Duplicateshas.lst)의 각각에 대해; grep $each pcX-sha1.lst를 수행하십시오. 완료
위의 내용은 pcX-sha1.lst에서 찾은 이름과 함께 파일을 나열합니다. 물론 두 파일 중 하나를 사용할 수 있습니다(또는 두 위치 모두에서 파일 위치를 확인하고 파일 이름이 다른 경우 두 파일 모두 사용).