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


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.