Tekst

Sort & Dedupe Lines

Sortuje wiersze tekstu alfabetycznie, usuwa duplikaty, puste wiersze i zbędne spacje.

This tool sorts a list of lines alphabetically and removes duplicates and blank lines — a routine cleanup that's slow and error-prone to do by hand.

How to use it

Common uses

Things to keep in mind

Plain alphabetical sorting puts "file10" before "file2", since it compares strings character by character — natural sort is needed for the expected order with numbers.

Duplicate removal is case-sensitive by default — "Text" and "text" count as different lines unless the text is normalized to one case first.

Artykuł o tym narzędziu: Sortowanie i usuwanie duplikatów wierszy: do czego się przydaje

Najczęstsze pytania

Jaka jest różnica między sortowaniem z rozróżnianiem a bez rozróżniania wielkości liter?

Gdy "Bez rozróżniania wielkości liter" jest wyłączone, wielkie i małe litery są sortowane osobno według kodu znaku; gdy włączone, porównuje linie bez względu na wielkość liter, zbliżając do siebie "Jabłko" i "jabłko".

Jak traktowane są duplikaty, puste linie i białe znaki?

Dwie identyczne linie (zgodnie z wybraną opcją wielkości liter) są uznawane za duplikaty i zachowywana jest tylko pierwsza; "Przytnij białe znaki" usuwa spacje na początku i końcu przed sortowaniem, a "Usuń puste linie" eliminuje linie bez widocznych znaków.

Czy moje linie tekstu są wysyłane na serwer?

Nie, sortowanie i usuwanie duplikatów odbywa się całkowicie w Twojej przeglądarce w JavaScript — żadne dane nie są wysyłane gdzie indziej.

Dlaczego "10" znajduje się przed "9" przy sortowaniu alfabetycznym?

Sortowanie alfabetyczne (leksykograficzne) porównuje ciągi znak po znaku jak tekst, a nie jak liczby: "1" jest leksykograficznie mniejsze niż "9", więc "10" trafia przed "9". Aby uzyskać porządek liczbowy, ciągi trzeba najpierw sparsować jako liczby.

Czy można sortować według porządku naturalnego (natural sort)?

Sortowanie naturalne rozpoznaje ciągi cyfr wewnątrz tekstu jako liczby, a resztę porównuje jako tekst — dzięki temu "file2.txt" znajduje się przed "file10.txt", co jest przydatne dla nazw plików lub wersji z tekstowym prefiksem.

Artykuły: Tekst

Case Converter: po co istnieją różne style nazewnictwa

Dlaczego w jednym projekcie zmienne zapisuje się camelCase, a pliki kebab-case, i skąd wzięły się te zasady.

Text Diff: jak algorytmy znajdują różnicę między dwoma tekstami

Jak algorytm diff znajduje minimalny zestaw zmian między dwiema wersjami tekstu.

Wyrażenia regularne: podstawowa składnia i typowe wzorce

Jak czytać wyrażenie regularne i czym dopasowanie zachłanne różni się od leniwego.

String Escape: dlaczego ten sam tekst trzeba escapować inaczej

Dlaczego ten sam cudzysłów jest escapowany inaczej w ciągu JS, w JSON i w poleceniu shell.

CRLF kontra LF: dlaczego znaki końca linii wciąż mają znaczenie

Dlaczego plik napisany w Windows może wyglądać jako „cały zmieniony" w gicie na Linuksie.

Liczenie znaków i słów: dlaczego to nie zawsze jest trywialne

Dlaczego emoji lub litera z akcentem może liczyć się jako kilka znaków naraz.

Lorem Ipsum: skąd wziął się tekst zastępczy i po co jest potrzebny

Dlaczego projektanci celowo używają „bezsensownego" tekstu zamiast prawdziwej treści w makietach.

Slugify: jak zamienić dowolny tekst w adres URL

Jak tytuł „Witaj, Świecie! Jak się masz?" zamienia się w kompatybilny z URL ciąg witaj-swiecie-jak-sie-masz.

Markdown: dlaczego prosta składnia tekstowa pokonała rozbudowane edytory

Dlaczego programiści wolą pisać dokumentację w Markdown niż w edytorze tekstu sformatowanego.

Spacje i niewidoczne znaki: ukryta przyczyna dziwnych błędów

Dlaczego dwa pozornie identyczne ciągi znaków mogą się nie zgadzać przez niewidoczny znak.

Text Reverse: dlaczego „odwrócenie tekstu" jest trudniejsze, niż się wydaje

Dlaczego naiwne odwrócenie ciągu znaków może zamienić emoji w nieużyteczne bajty.

Analiza częstotliwości tekstu: po co liczyć powtórzenia słów

Jak częstotliwość liter w zaszyfrowanym tekście pomaga złamać najprostsze szyfry podstawieniowe.