Jak usunąć powtarzające się wyrazy po porównaniu dwóch plików tekstowych?

Mam 2 pliki txt(słowniki) i w nich wyrazy ustawione jeden pod drugim od A-Z
Jeden koło 3 mln, a drugi 200 tys.
W małym pliku znajduje się część wyrazów, które też są w dużym.
Chciałbym z tego dużego usunąć wszystkie wyrazy, które znajdują się również w małym pliku.
Czy można to zrobić bez pisania programu?

Brzmi jak typowe zadanie z programowania.

Jak nie chcesz pisać programu, to Excel ma funkcję usuwania duplikatów, tylko nie wiem czy aż tyle wierszy jednocześnie obsługuje.

Hej,

Nie, nie obsłuży. Maksymalnie do Excela można wrzucić nieco ponad milion wierszy. Ale jakby co, to zawsze można zawęzić przeszukiwanie i wrzucić na przykład na początek zakres słów zaczynających się od A - K, a później kolejne.

Ale chyba najszybciej będzie posłużyć się Notepad++. Jak? Myślę, że pomoże poniższy wpis.

Pozdrawiam,
Dimatheus

Co tu pisać, po prostu grep.

grep -Fxvf słownik_200K.txt słownik_3M.txt > bez_duplikatów.txt

Grep działa na Windows 10, sprawdzałem. Lepiej pobrać bez instalatora, same binarki i resztę potrzebnych bibliotek wrzucić do katalogu z grep-em.

http://gnuwin32.sourceforge.net/packages/grep.htm

Na każdym znanym mi Linuksie live jest grep zainstalowany, tam gdzie jest busybox jest grep.

2 polubienia

Te usuwają duplikaty z jednego pliku.

Zainstalowałem i czarna magia.
mam dwa pliki
B:\pl-ANSI.txt
B:\Do_usuniecia.txt
Jak napisać polecenie w command line dla obu plików?

Windows 7 64-bit

Przejdź do katalogu bin z grep-a, miałeś pobrać binarne nie z instalatorem (takie sprawdzałem), tam wkleić cztery biblioteki dll (też binarne, rozpakować i z bin)

W katalogu z grep uruchomić cmd i (nie wiem który jest który, kolejność jest istotna, napisałem na górze, ale chyba taka z nazw wynika). Oczywiście w jednej linii, złamał na podglądzie, zmieniłem nazwę by było w jednej linii.

grep -Fxvf B:\Do_usuniecia.txt B:\pl-ANSI.txt > gdzie_ma_być_nowy.txt

Zrób kopie, bo jeszcze się pomylisz. Można wszystkie pliki umieścić w tym samym katalogu to wtedy wiadomo bez B:\

Nie powinno być różnicy, sprawdziłem tylko na Windows 10 bo nie ma wzmianki o nim.

Masz rację, to najlepsze rozwiązanie.
Dziękuję.

1 polubienie

A jednak można zwykłym edytorem, który usuwa duplikaty to zrobić.
Trzeba zastosować prosty trik.