Usuwanie duplikatów linii
Usuń powtarzające się linie z tekstu
-
1Wprowadź dane
Wpisz treść, wklej tekst lub załaduj plik z dysku. -
2Kliknij przycisk
Narzędzie natychmiast przetworzy Twoje dane w przeglądarce. -
3Pobierz wynik
Skopiuj gotowy tekst lub zapisz plik na urządzeniu.
return "Wynik gotowy w 0.1s";
}
Duplikaty linii
Oceń to narzędzie:
Powiązane narzędzia
Inne narzędzia, które mogą Ci się przydaćUsuwanie duplikatów linii — porządki w danych
Listy adresów, nicków, fraz czy numerów często zawierają powtórzenia. Usunięcie duplikatów ręcznie jest żmudne i podatne na błędy — narzędzie robi to w sekundę.
Dostępne opcje
| Opcja | Działanie |
|---|---|
| Ignoruj wielkość liter | „Ala” i „ala” potraktowane jako duplikat |
| Usuwaj białe znaki | ignoruje spacje na początku i końcu linii |
| Usuwaj puste linie | pomija wiersze puste |
| Sortuj | układa wynik alfabetycznie |
Przykłady zastosowań
- Oczyszczanie listy adresów e-mail z powtórzeń.
- Usuwanie zduplikowanych słów kluczowych.
- Porządkowanie list imion, miast lub kodów.
- Deduplikacja wyników z wielu źródeł.
Dlaczego zachowanie kolejności jest ważne?
Domyślnie narzędzie zostawia pierwsze wystąpienie, a usuwa kolejne — dzięki temu kolejność listy pozostaje nienaruszona. Sortowanie włączaj tylko wtedy, gdy kolejność nie ma znaczenia.
Jak działa deduplikacja linii
Narzędzie czyta wklejony tekst i dzieli go na linie po znakach końca wiersza — zarówno LF, jak i CRLF. Od tego momentu pracuje na wierszach, a nie na całym bloku znaków, dlatego kolejność wejściowa jest naturalnym porządkiem przetwarzania. Każda linia przechodzi tę samą procedurę niezależnie od tego, czy jest adresem e-mail, nickiem, frazą czy numerem.
Dla każdej linii budowany jest klucz porównania. Jeśli włączysz usuwanie białych znaków, z początku i końca linii obcinane są spacje oraz taby. Jeśli włączysz ignorowanie wielkości liter, klucz jest dodatkowo sprowadzany do jednej wielkości. Klucz sprawdzany jest następnie w zbiorze kluczy już widzianych: gdy występuje po raz pierwszy, linia trafia do wyniku i klucz zostaje zapisany, a gdy klucz już istnieje, linia jest pomijana. Dlatego zawsze wygrywa pierwsze wystąpienie — nie najkrótsze, nie najdłuższe i nie ostatnie.
Wynik sklejany jest z powrotem w tekst w kolejności dodawania, czyli dokładnie takiej, w jakiej linie pojawiły się na wejściu, oczywiście bez pominiętych duplikatów. Sortowanie jest osobnym krokiem wykonywanym po deduplikacji i tylko ono zmienia porządek listy. Cała lista przechodzona jest w jednym przebiegu, bez porównywania każdej linii z każdą — dlatego czas pracy rośnie w przybliżeniu proporcjonalnie do liczby linii, a nie do kwadratu tej liczby.
Przykład krok po kroku: 9 linii na wejściu, 5 w wyniku
- Wklejasz dziewięć linii: Kraków, Warszawa, kraków, Gdańsk, linia złożona z samych spacji, Warszawa, Łódź, kraków, Poznań.
- Włączasz ignorowanie wielkości liter oraz usuwanie białych znaków i zostawiasz włączone usuwanie pustych linii. Linia z samych spacji po przycięciu staje się pusta, więc wypada z wyniku — jeden wiersz mniej.
- Do wyniku wchodzi Kraków jako pierwsze wystąpienie, w oryginalnym brzmieniu. Kolejne kraków i kraków dają ten sam klucz porównania, więc oba są pomijane — dwa wiersze mniej.
- Warszawa wchodzi raz, drugie wystąpienie odpada — jeden wiersz mniej. Razem usunięte są więc 3 duplikaty oraz 1 linia pusta, czyli 4 wiersze.
- Wynik to 5 linii: Kraków, Warszawa, Gdańsk, Łódź, Poznań (9 − 4 = 5). Kolejność z wejścia jest zachowana, bo sortowanie pozostaje wyłączone.
- Jeśli dodatkowo włączysz sortowanie, ten sam zestaw pięciu linii wróci alfabetycznie: Gdańsk, Kraków, Łódź, Poznań, Warszawa. Liczba wierszy się nie zmienia — zmienia się wyłącznie ich kolejność.
Tabela referencyjna: co zmienia każde ustawienie
| Ustawienie | Co zmienia w porównaniu | Wpływ na kolejność wyniku |
|---|---|---|
| Bez dodatkowych opcji | Porównanie znak w znaku — wielkość liter i spacje na brzegach mają znaczenie | Zachowana kolejność wejściowa, zostaje pierwsze wystąpienie |
| Ignoruj wielkość liter | Warianty zapisu tej samej treści mają wspólny klucz porównania | Zachowana, a w wyniku zostaje brzmienie pierwszej linii |
| Usuwaj białe znaki | Spacje i taby z początku oraz końca linii obcinane są przed porównaniem | Zachowana, linia wraca w postaci po przycięciu |
| Usuwaj puste linie | Wiersze puste, także te puste po przycięciu, nie trafiają do wyniku | Zachowana dla wszystkich pozostałych linii |
| Sortuj | Nie wpływa na wykrywanie duplikatów, działa dopiero po deduplikacji | Zmieniona — wynik alfabetyczny, porządek wejściowy przepada |
| Ignoruj wielkość liter + Usuwaj białe znaki | Najszersze scalanie: linie różniące się zapisem i skrajnymi spacjami liczą się jako jeden wiersz | Zachowana, pierwsze wystąpienie bez skrajnych spacji |
| Usuwaj białe znaki + Usuwaj puste linie | Opcje powiązane: przycięcie linii może ujawnić wiersz, który jest w rzeczywistości pusty | Zachowana — pomijane są wyłącznie wiersze puste |
Praktyczne wskazówki przed deduplikacją
- Najpierw zdecyduj, czy wielkość liter ma znaczenie. Przy nickach, identyfikatorach i hasłach zwykle ma, przy adresach e-mail i nazwach miast zwykle nie — od tego zależy, czy włączysz ignorowanie wielkości liter, czy porównanie znak w znaku.
- Przycinanie włączaj wtedy, gdy dane pochodzą z kopiowania. Kolumny wyciągane z arkusza lub czatu często mają niewidoczne spacje na końcu, które bez przycięcia tworzą sztuczne duplikaty.
- Sortowanie zostaw na sam koniec. Włączaj je tylko wtedy, gdy kolejność naprawdę nie ma znaczenia, bo po posortowaniu nie odtworzysz już porządku z wejścia.
- Pracuj na kopii listy. Wynik zastępuje wklejony tekst, więc oryginał zachowaj w osobnym pliku lub notatniku — przyda się, gdy trzeba będzie wrócić do pełnych danych.
- Zapisz liczbę linii przed i po. Różnica między tymi wartościami to liczba pominiętych wierszy; to najprostszy sposób sprawdzenia, czy ustawienia zadziałały zgodnie z oczekiwaniem.
Ograniczenia i sytuacje, w których wynik może zaskoczyć
- Duplikaty wewnątrz jednej linii nie są usuwane. Jeśli w jednym wierszu to samo słowo powtórzy się dwa razy, narzędzie potraktuje całą linię jako jedną wartość i zostawi ją bez zmian.
- Porównanie działa na znakach, nie na znaczeniu. Zapis bez ogonka, skrót i pełna nazwa albo ten sam adres w dwóch formatach to dla narzędzia odrębne linie, nawet jeśli dla człowieka znaczą to samo.
- O wyglądzie zachowanej linii decyduje pierwsze wystąpienie. Przy ignorowaniu wielkości liter duplikat zapisany w innej wersji zostanie pominięty razem ze swoim brzmieniem — w wyniku zostaje postać pierwszej linii.
- Sortowanie jest nieodwracalne w wyniku. Po jego włączeniu nie da się odczytać, która linia była pierwsza, a która była duplikatem — lista wraca wyłącznie w nowym porządku.
Najczęstsze pytania
Czy narzędzie usuwa spacje wewnątrz linii?
Nie. Przycina tylko białe znaki na początku i końcu. Wewnętrzne spacje pozostają bez zmian.
Ile linii mogę wkleić?
Tekst przetwarzany jest po stronie serwera w jednym kroku — bezpiecznie obsłuży kilkadziesiąt tysięcy linii.
Co, gdy chcę usunąć duplikaty tylko częściowo?
Podziel tekst na mniejsze fragmenty albo najpierw przefiltruj linie ręcznie, a potem użyj narzędzia.
Czy narzędzie usunie powtórzone słowa w obrębie jednej linii?
Nie. Deduplikacja działa na całych liniach, więc powtórzone słowo wewnątrz jednego wiersza zostaje bez zmian. Aby je usunąć, najpierw rozdziel linię na mniejsze wiersze, a potem użyj narzędzia.
Czy linie różniące się spacją na końcu zostaną uznane za duplikat?
Tylko przy włączonym usuwaniu białych znaków — wtedy spacja na końcu zostaje obcięta przed porównaniem. Bez tej opcji linie różnią się znakiem, więc obie trafią do wyniku.
Czy mogę wkleić kolumnę skopiowaną z arkusza kalkulacyjnego?
Tak, skopiowany fragment wkleja się zwykle jako kolejne linie. Pamiętaj jednak, że narzędzie nie rozdziela wartości w obrębie jednej linii — jeśli dane skleją się w jeden wiersz, wynik będzie błędny.
Czy zapis bez polskiego znaku, na przykład Krakow zamiast Kraków, zostanie scalony z wersją z ogonkiem?
Nie. Porównanie działa na znakach, a brak ogonka nie jest tym samym co inna wielkość litery. Jeśli chcesz scalić takie warianty, najpierw ujednolić zapis — na przykład usuwając polskie znaki i akcenty.
Czy wynik mogę od razu wkleić z powrotem do arkusza?
Tak. Każda linia wyniku to osobny wiersz tekstu, więc po wklejeniu do arkusza trafi do osobnych komórek kolumny.