Jak mogę usunąć duplikaty plików z osobnych drzew katalogów?


10

Mam dwa katalogi: old/i new/. Niektóre pliki w old/są duplikatami plików w new/. Niektóre mają tylko tę samą nazwę, a niektóre mogą nawet mieć identyczną treść, ale różne nazwy. Nie interesuje mnie ścieżka podkatalogu do plików, więc w dopasowaniu należy uwzględnić tylko niekwalifikowaną nazwę pliku.

Chcę usunąć zduplikowane pliki old/, aby zawierały tylko pliki, których nie znaleziono również new/. W przypadkach, w których nazwy plików pasują, ale nie zawartość, lub odwrotnie, chcę, aby to było wymienione w jakimś dzienniku.

Czy ktoś napotkał podobny problem lub ma lepsze rozwiązanie niż hakowanie razem (perl lub podobnego) skryptu od zera? Środowisko wykonawcze zdominowane przez wywołanie md5sumkażdego pliku jest dopuszczalne.

Odpowiedzi:


7

Oczywiście! Sprawdź FSlint :

FSlint to narzędzie do wyszukiwania i czyszczenia różnych form kłaczków w systemie plików. IE niechciane lub problematyczne cruft w twoich plikach lub nazwach plików. Na przykład jedną z form kłaczków, które znajduje, są duplikaty plików. Ma zarówno GUI, jak i tryby wiersza poleceń.

alternatywny tekst

FSlint to darmowe oprogramowanie typu open source.


To wygląda wystarczająco blisko na to, czego chcę. Dzięki!
P-Nuts

8

fdupes - wyszukuje duplikaty plików w danym zestawie katalogów

fdupes new/ old/

-d do usunięcia

-N za nie pytaj

fdupes -N -d new/ old/

Czy to również nie znajdzie (i usunie) duplikatów w każdym katalogu? Innymi słowy, jeśli nowe (lub stare) zawierają zduplikowane pliki, które mogą, ale nie muszą zostać znalezione w starych, to też zostałyby usunięte? Nie sądzę, aby fdupes był programem całkowicie odmiennym, co sugerują twoje argumenty „nowy” i „stary”.
Stephen Niedzielski
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.