Do porównywania (i znajdowania duplikatów) pomiędzy plikami NDB są potrzebne
2 pliki: skrypt powłoki ndbdif.sh i wywoływany przez
niego skrypt programu AWK - sndbdif.awk. Potrzebny jest też program
sort, ale powinien on "przyjść z systemem". Uruchamiamy skrypt poleceniem:
sh ndbdif.sh plik_wzorcowy plik_sprawdzany granica_odległosci_w_metrach
przy czym w katalogu bieżącym nie powinno być pliku plik_sprawdzany.sort,
ponieważ podczas pracy jest tworzony, a na końcu kasowany, roboczy plik
o takiej nazwie. Wyniki znajdują się w plikach plik_sprawdzany.nodup, w
którym zapisane są pozycje nie uznane za duplikaty i plik_sprawdzany.dup,
w którym dla każdego znalezionego duplikatu podana jest pozycja z pliku
wzorcowego, odpowiadająca mu pozycja z pliku sprawdzanego i obliczona
odległość między nimi. Przykładowe wyniki (porównanie plików NDB VRG i
Roberta J.) są tu (pozycje uznane za różne)
i tu (duplikaty). Proszę zwrócić uwagę, że
plik_sprawdzany.nodup jest pozbawiony nagłówka, który miał plik_sprawdzany
i przed wczytaniem go do kashmira trzeba ten nagłówek skopiować ręcznie,
albo używając programów head i cat, albo za pomocą dowolnego edytora tekstu.
Dla użytkowników systemów z rodziny windows przygotowałem plik wsadowy ndbdif.bat, który powinien zostać prawidłowo wykonany przez windowsowy interpreter poleceń, cmd.exe, z tym że uwaga - napisany został "z głowy", bez testowania. Przed uruchomieniem należy zainstalować programy gawk i sort (ten ostatni z pakietu coreutils) i uważać na konflikt z dostarczanym z windows programem sort (nie, ten nie wystarczy, bo nie umie sortować według wartości numerycznych)! Programy te dostępne są pod adresem http://gnuwin32.sourceforge.net/packages.html.