Wpis z mikrobloga

#excel
#programowanie
Hej, mam problem z wyłapaniem "duplikatów" wśród plików. Niestety tych plików mam kilkanaście tysięcy do przejrzenia. Duplikaty same w sobie nie dotyczą całości nazwy pliku tylko błędów, które ktoś wprowadził typu:

00DOWBporte de garage - sectionalgen
01DOWBporte de garage - sectionalegen

Ja wiem, że to są identyczne pliki, ale różniące się "00" i "01" oraz "sectional" i "sectionale". To samo dotyczy poniższych.

20DOWBporte intérieure double - coulissantgen
03DOWBporte intérieure double - coulissantegen

00TAG-MCUNelevation origin - schedule levelgen
00TAG-MCUNélévation origin - schedule levelgen (tutaj różnica między "e" i "é",

56GAWPBcontact fenêtregen
56GAWPBcontacte fenêtregen

ktoś po prostu namieszał w nazwach i wrzucił do jednego wora wszystkie pliki i teraz mam problem z wyłapaniem podobnie brzmiących nazw, żeby je usunąć. Nie mam pomysłu, jak to ugryźć. mam nadzieję, że nie pozostaje mi scrollowanie arkusza z nazwami, żeby wyłapywać takie kwiatki.
Dzięki z góry. Pozdrawiam
  • 14
  • Odpowiedz
@bedestawiacszope: ciężki temat w #!$%@? Mirek. Najlepiej w sumie pobrać nazwę plików wszystkich, usunąć cyferki z początku, posortować po nazwie i sprawdzać czy znaki zgadzają się np w 80%.
  • Odpowiedz
@WpiszSwojLogin: no właśnie nie bardzo, bo to nie pliki tekstowe tylko tylko pliki projektów, a pliki te same się różnią "binarnie", wystarczy zapisać ten sam plik dwa razy i już binarnie się różni. @GeDox juz zrobiłem takie podejście, ale to idzie zwariować przeglądając tyle plików.
  • Odpowiedz
@bedestawiacszope: jest coś takiego jak Levenshtein distance - miara podobieństwa tekstów. Jeżeli jest zero, to są identyczne, a każde dodanie, usunięcie, przestawienie litery zwiększa ten dystans.
Znajdź implementację tego w języku który znasz, oblicz dystans każdy z każdym i tam gdzie uznasz że jest wystarczająco mały - uznaj za identyczne.
  • Odpowiedz