Sortownik wierszy

Sortuj wiersze alfabetycznie, wg długości, odwrotnie lub losowo

Wypróbuj przykład

Wiersze wejściowe

Posortowane wiersze

Działa lokalnie · Bezpieczne do wklejania sekretów
Posortowane wiersze pojawią się tutaj…

Czym jest sortowanie wierszy?

Sortowanie wierszy to proces porządkowania wierszy bloku tekstu według określonej reguły: kolejności alfabetycznej, odwrotnej, długości wiersza lub losowego mieszania. Sortowanie wierszy online to częste zadanie podczas pracy z plikami logów, danymi CSV, listami konfiguracyjnymi lub dowolną zawartością w formacie zwykłego tekstu, w której kolejność ma znaczenie. Operacja dzieli tekst na znakach nowej linii, stosuje funkcję porównującą do wynikowej tablicy i łączy posortowane wiersze z powrotem.

Większość języków programowania domyślnie sortuje ciągi znaków przy użyciu porównania leksykograficznego, które porównuje znaki według ich punktów kodowych Unicode. Oznacza to, że wielkie litery są sortowane przed małymi ("Banan" przed "jabłkiem"), a cyfry przed literami. Sortowanie uwzględniające lokalizację, zwane czasem naturalnym sortowaniem lub kolacją, rozwiązuje ten problem, stosując reguły specyficzne dla danego języka. localeCompare() w JavaScript, locale.strxfrm() w Pythonie oraz polecenie POSIX sort z LC_COLLATE zapewniają sortowanie uwzględniające lokalizację.

Sortowanie według długości przydaje się, gdy chcesz znaleźć najkrótsze lub najdłuższe wpisy na liście, zidentyfikować wartości odstające w danych wyjściowych logów lub posegregować elementy według złożoności. Sortowanie odwrotne odwraca istniejącą kolejność wierszy bez zmiany ich porządku, co różni się od sortowania alfabetycznego Z-A. Losowe mieszanie przypisuje każdemu wierszowi losowy klucz sortowania, generując inną kolejność przy każdym uruchomieniu. Przełączanie między trybami dla tych samych danych wejściowych jest szybsze niż pisanie jednorazowego skryptu.

Dlaczego warto używać tego sortownika wierszy?

Wklej tekst, wybierz tryb sortowania i uzyskaj wynik natychmiast. Bez konfiguracji wiersza poleceń, bez plików skryptów, bez instalowania pakietów.

Natychmiastowe sortowanie
Wyniki pojawiają się podczas pisania lub wklejania. Przełączaj między sześcioma trybami sortowania i porównuj dane wyjściowe bez ponownego uruchamiania czegokolwiek.
🔒
Przetwarzanie z priorytetem prywatności
Całe sortowanie odbywa się w przeglądarce przy użyciu JavaScript. Twój tekst pozostaje na urządzeniu. Nic nie jest przesyłane na serwer ani rejestrowane.
🔀
Sześć trybów sortowania
A-Z, Z-A, od najkrótszego, od najdłuższego, odwrotna kolejność i losowe mieszanie. Jedno pole wejściowe obsługuje najczęstsze zadania związane z porządkowaniem wierszy.
📋
Bez konta i instalacji
Otwórz stronę i zacznij sortować. Bez rejestracji, bez rozszerzenia przeglądarki, bez aplikacji desktopowej. Działa na każdym urządzeniu z nowoczesną przeglądarką.

Zastosowania sortownika wierszy

Programowanie frontend
Sortuj listy klas CSS, instrukcje importu lub klucze tłumaczeń i18n alfabetycznie. Spójna kolejność zmniejsza konflikty scalania w kontroli wersji i przyspiesza przeglądy kodu.
Programowanie backend
Porządkuj listy zależności w package.json, requirements.txt lub go.mod przed zatwierdzeniem. Sortuj nazwy kolumn SQL przy budowaniu instrukcji CREATE TABLE lub porównywaniu różnic schematów.
DevOps i infrastruktura
Sortuj nazwy zmiennych środowiskowych w plikach .env, wpisy ConfigMap w Kubernetes lub bloki zmiennych Terraform. Kolejność alfabetyczna ułatwia wykrycie duplikatów i brakujących wartości podczas przeglądu.
QA i automatyzacja testów
Sortuj logi wyjściowe testów według znacznika czasu lub komunikatu, aby szybko izolować błędy. Losuj dane wejściowe testów, aby sprawdzić, czy zachowanie aplikacji nie zależy od kolejności wstawiania.
Inżynieria danych
Porządkuj nagłówki CSV lub listy kolumn przed pisaniem skryptów migracji schematu. Sortuj wiersze próbek danych według długości, aby znaleźć obcięte wiersze lub nietypowo długie wartości w potoku danych.
Studenci i uczniowie
Sortuj listy słownictwa, wpisy bibliograficzne lub notatki do nauki alfabetycznie. Mieszaj wiersze fiszek do losowych sesji powtórek bez instalowania osobnej aplikacji.

Opis trybów sortowania

To narzędzie obsługuje sześć trybów sortowania. Poniższa tabela opisuje każdy tryb, używaną metodę porównywania oraz przykładowy wynik dla listy wejściowej: jabłko, banan, wiśnia, daktyl, figa.

TrybOpisMetoda JSPrzykładowy wynik
A-ZAlphabetical ascendinglocaleCompare()apple, banana, cherry
Z-AAlphabetical descendinglocaleCompare() reversedcherry, banana, apple
Length (short)Shortest line firsta.length - b.lengthfig, date, apple, banana
Length (long)Longest line firstb.length - a.lengthbanana, apple, date, fig
ReverseFlip line order, no reorderingArray.reverse()Last line becomes first
RandomRandomized comparator (biased)Math.random() - 0.5Different every run

Algorytmy sortowania w tle

Gdy wywołujesz Array.sort() w JavaScript, silnik V8 (Chrome, Node.js) używa Timsort od 2019 roku. Inne środowiska wykonawcze korzystają z różnych algorytmów. Poniższa tabela porównuje najczęściej stosowane algorytmy sortowania w standardowych bibliotekach języków programowania. Wszystkie obsługują zadania sortowania wierszy w tym narzędziu w czasie poniżej milisekundy dla typowych danych wejściowych (do 100 000 wierszy).

AlgorytmUżywany przezCzasUwagi
TimsortPython, Java (Arrays.sort)O(n log n)Stable, fast on partially sorted data
QuicksortC stdlib, V8 (older)O(n log n)In-place, unstable by default
Merge sortMost stable-sort implementationsO(n log n)Stable, predictable, uses extra memory
IntrosortC++ std::sort, .NETO(n log n)Hybrid: quicksort + heapsort fallback
Radix sortFixed-length keys, integersO(nk)Non-comparative, linear for short keys

Przykłady kodu

Sortuj wiersze programowo w JavaScript, Pythonie, Go i z wiersza poleceń. Każdy przykład obejmuje sortowanie alfabetyczne, według długości i odwrotne.

JavaScript
const text = `banana
apple
cherry
date
fig`

// Sort A-Z (locale-aware)
const az = text.split('\n').sort((a, b) => a.localeCompare(b)).join('\n')
// → "apple\nbanana\ncherry\ndate\nfig"

// Sort by line length, shortest first
const byLen = text.split('\n').sort((a, b) => a.length - b.length).join('\n')
// → "fig\ndate\napple\nbanana\ncherry"

// Reverse line order (no alphabetical sorting)
const reversed = text.split('\n').reverse().join('\n')
// → "fig\ndate\ncherry\napple\nbanana"

// Remove duplicates and sort
const unique = [...new Set(text.split('\n'))].sort().join('\n')
Python
text = """banana
apple
cherry
date
fig"""

lines = text.splitlines()

# Sort A-Z (case-insensitive)
az = sorted(lines, key=str.lower)
# → ['apple', 'banana', 'cherry', 'date', 'fig']

# Sort by line length
by_len = sorted(lines, key=len)
# → ['fig', 'date', 'apple', 'banana', 'cherry']

# Reverse original order
rev = lines[::-1]
# → ['fig', 'date', 'cherry', 'apple', 'banana']

# Shuffle randomly
import random
random.shuffle(lines)  # modifies in place
Go
package main

import (
	"fmt"
	"sort"
	"strings"
)

func main() {
	text := "banana\napple\ncherry\ndate\nfig"
	lines := strings.Split(text, "\n")

	// Sort A-Z
	sort.Strings(lines)
	fmt.Println(strings.Join(lines, "\n"))
	// → apple\nbanana\ncherry\ndate\nfig

	// Sort by length
	sort.Slice(lines, func(i, j int) bool {
		return len(lines[i]) < len(lines[j])
	})
	fmt.Println(strings.Join(lines, "\n"))
	// → fig\ndate\napple\nbanana\ncherry
}
CLI (bash)
# Sort lines A-Z
sort file.txt

# Sort lines Z-A (reverse)
sort -r file.txt

# Sort numerically (first field)
sort -n data.txt

# Sort by line length (awk + sort + cut)
awk '{ print length, $0 }' file.txt | sort -n | cut -d' ' -f2-

# Shuffle lines randomly
shuf file.txt          # GNU coreutils
sort -R file.txt       # alternative (not truly uniform)

# Sort and remove duplicates
sort -u file.txt

Często zadawane pytania

Jaka jest różnica między sortowaniem A-Z a sortowaniem naturalnym?
Sortowanie A-Z (leksykograficzne) porównuje znaki według punktu kodowego Unicode. Oznacza to, że "element10" jest sortowany przed "element2", ponieważ znak '1' ma niższy punkt kodowy niż '2'. Sortowanie naturalne traktuje osadzone liczby jako wartości numeryczne, więc "element2" pojawia się przed "element10". To narzędzie używa leksykograficznego sortowania uwzględniającego lokalizację przez localeCompare(), które poprawnie obsługuje znaki akcentowane, ale nie wykonuje sortowania naturalnego dla liczb.
Czy mój tekst jest wysyłany na serwer podczas sortowania wierszy?
Nie. Całe sortowanie odbywa się w przeglądarce przy użyciu metody Array.sort() w JavaScript. Tekst nigdy nie opuszcza Twojego urządzenia. Możesz to zweryfikować, otwierając zakładkę Sieć w DevTools przeglądarki i potwierdzając, że żadne żądania nie są wysyłane podczas wklejania i sortowania tekstu.
Ile wierszy może obsłużyć to narzędzie?
Narzędzie działa dobrze z dziesiątkami tysięcy wierszy. Implementacja Timsort w V8 obsługuje 100 000 wierszy w czasie poniżej 100 milisekund na nowoczesnym sprzęcie. W przypadku plików większych niż kilka megabajtów narzędzie wiersza poleceń, takie jak polecenie sort w systemie Unix, jest bardziej wydajne, ponieważ może korzystać z dyskowego sortowania przez scalanie i wielu wątków.
Jak działa sortowanie bez rozróżniania wielkości liter?
To narzędzie używa String.localeCompare() z opcją { sensitivity: 'base' }, która sprawia, że porównanie nie rozróżnia wielkości liter — "Jabłko" i "jabłko" są sortowane razem, a nie w oddzielnych grupach. Domyślnie localeCompare() rozróżnia wielkość liter; jawna opcja jest wymagana do sortowania bez jej rozróżniania. Jeśli potrzebujesz ścisłego sortowania z rozróżnianiem wielkości liter, gdzie wielkie litery pojawiają się pierwsze, polecenie sort w systemie Unix bez flagi -f zapewnia takie zachowanie.
Czy mogę sortować wiersze i usuwać duplikaty jednocześnie?
To narzędzie sortuje wiersze, ale nie usuwa duplikatów. Aby usunąć zduplikowane wiersze, skorzystaj z narzędzia do usuwania duplikatów wierszy w tej samej kategorii. Możesz najpierw posortować tekst tutaj, a następnie wkleić wynik do narzędzia do usuwania duplikatów, aby uzyskać czystą, unikalną i posortowaną listę.
Jaka jest różnica między sortowaniem odwrotnym a sortowaniem Z-A?
Sortowanie odwrotne odwraca pierwotną kolejność wierszy: ostatni wiersz staje się pierwszym, przedostatni drugim i tak dalej. Żadne porównanie alfabetyczne nie jest zaangażowane. Sortowanie Z-A układa wiersze w malejącej kolejności alfabetycznej bez względu na ich pierwotne położenie. Jeśli dane wejściowe są już posortowane od A do Z, odwrotność i sortowanie Z-A dają ten sam wynik, ale dla nieposortowanych danych wejściowych wyniki się różnią.
Jak sortować wiersze według określonej kolumny lub pola?
To narzędzie sortuje według pełnej zawartości wiersza. Aby sortować według konkretnej kolumny (na przykład drugiego pola w pliku rozdzielanym tabulatorem), użyj polecenia sort w systemie Unix z flagą -k: sort -t$'\t' -k2,2 plik.txt. W Pythonie podziel każdy wiersz i użyj funkcji klucza: sorted(lines, key=lambda x: x.split('\t')[1]).