중복 파일을 찾는 Linux 도구?


13

크고 작은 텍스트 파일 세트가 있으며 모두 100 바이트 미만입니다. 가능한 한 쌍의 파일을 비교하고 중복되는 것을 기록하고 싶습니다. 이를 위해 Python 스크립트를 작성할 수는 있지만 기존 Linux 명령 줄 도구 (또는 간단한 도구 조합)가 있는지 궁금합니다.

업데이트 ( mfinni 주석 에 대한 응답 ) : 파일이 모두 단일 디렉토리에 있으므로 파일 이름이 다릅니다. 그러나 파일 이름 확장자는 공통이므로 와일드 카드로 쉽게 선택할 수 있습니다.


파일 이름이 중복되지 않고 내용 만 있다고 가정합니다.
mfinni

위의 내용을 찾고 있다면 pixelbeat.org/fslint 가 도움이 될 것입니다. :)
Rajat

답변:


22

있다 fdupes은 . 하지만 보통은find . -type f -exec md5sum '{}' \; | sort | uniq -d -w 36


1
이 변화는 나를 위해 일한 : find . -name "*.csv" | xargs md5sum | sort | uniq -D -w 34 (나는 UNIQ -D를 사용하고, 나는 간부 찾아 xargs를 선호합니다.)
대릴 스피처

+1 나는 fdupes를 몰랐다. 그 도구는 매우 유용 해 보인다.
Zoredache

3
@Daryl : xargs이와 같이 사용하면 공백이있는 파일 이름에는 작동하지 않지만 사용 -exec합니다. -type f추가 인수로 사용하면 find(와 함께 사용 가능 -name) 검색이 파일로 제한됩니다.
fuenfundachtzig 2016 년

거대한 이진 파일도 빠르기 때문에 fdupes의 경우 +1입니다.
Bengt

드문 경우지만 나는 xargs가 작동하지 않고 (일부 처리 된 파일 후에 충돌 함) -exec wich를 찾지 못했습니다. @fuenfundachtzig, xargs -0 --delimiter = "\ n"을 사용하여 이러한 종류의 파일을 처리 할 수 ​​있습니다.
ychaouche


3

거의 확실하게 각 파일 쌍을 서로 나누고 싶지 않습니다. md5sums와 같은 것을 사용하여 모든 파일의 모든 체크섬을 가져 와서 중복 체크섬 만 다시보고하는 다른 도구로 파이프를 파이프하고 싶을 것입니다.


2
크기가 큰 파일에 대해 md5sum을 계산하여 해당 크기의 파일이 두 개 이상있는 경우에만 계산 된 md5sum 수를 줄일 수 있습니다. 따라서 바이트 단위로 고유 한 크기의 모든 파일에 대해서는 md5sum이 필요하지 않습니다. 파일과 중복 될 수 없기 때문입니다.
tomsv 2016 년
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.