별도의 디렉토리 트리에서 중복 파일을 제거하려면 어떻게해야합니까?


10

두 개의 디렉토리가 있습니다 : old/및 new/. 의 파일 중 일부가의 파일 old/과 중복됩니다 new/. 일부는 이름이 같고 일부는 동일한 내용이지만 이름이 다를 수도 있습니다. 파일의 하위 디렉토리 경로에 관심이 없으므로 일치하지 않는 파일 이름 만 고려하면됩니다.

에서 old/찾을 수없는 파일 만 포함되도록 에서 중복 파일을 제거하고 싶습니다 new/. 파일 이름이 일치하지만 내용이 일치하지 않는 경우 또는 그 반대의 경우 일부 로그에 나열하고 싶습니다.

누구나 비슷한 문제가 발생했거나 (perl 또는 비슷한) 스크립트를 처음부터 해킹하는 것보다 더 나은 해결책이 있습니까? md5sum각 파일 을 호출 하여 실행되는 런타임 이 허용됩니다.

답변:


7

물론이야! FSlint를 확인하십시오 .

FSlint는 파일 시스템에서 다양한 형태의 린트를 찾아서 정리하는 유틸리티입니다. IE 파일 또는 파일 이름에 원치 않거나 문제가있는 부패. 예를 들어, 찾은 린트 형태 중 하나는 중복 파일입니다. GUI와 명령 줄 모드가 있습니다.

대체 텍스트

FSlint는 무료이며 오픈 소스 소프트웨어입니다.


그것은 내가 원하는 것에 충분히 가깝게 보입니다. 감사!
— P-Nuts

8

fdupes- 주어진 디렉토리 세트에서 중복 파일을 찾습니다.

fdupes new/ old/

삭제를위한 -d

-N 묻지마

fdupes -N -d new/ old/

이것은 또한 각 디렉토리 내에서 중복을 찾아서 삭제하지 않습니까? 다시 말해서, 새로운 (또는 오래된) 파일이 오래된 파일에서 찾을 수 있거나없는 파일을 중복해서 포함하는 경우, 그 파일도 삭제됩니까? 나는 fdupes가 "new"와 "old"라는 당신의 주장이 암시하는 것처럼 diffing 프로그램이라고 생각하지 않습니다.
— Stephen Niedzielski
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.