Ordinatore di righe

Ordina le righe alfabeticamente, per lunghezza, inverti o randomizza l'ordine delle righe

Prova un esempio

Righe di input

Righe ordinate

Esegue in locale · Sicuro per incollare segreti
Le righe ordinate appariranno qui…

Cos'è l'Ordinamento delle Righe?

L'ordinamento delle righe è il processo di riorganizzazione delle righe di un blocco di testo secondo una regola specifica: ordine alfabetico, ordine inverso, lunghezza della riga o un rimescolamento casuale. Ordinare righe online è un'operazione comune quando si lavora con file di log, dati CSV, elenchi di configurazione o qualsiasi contenuto in testo normale in cui l'ordine è importante. L'operazione suddivide il testo sui caratteri di nuova riga, applica una funzione di confronto all'array risultante e riunisce le righe ordinate.

La maggior parte dei linguaggi di programmazione ordina le stringhe usando il confronto lessicografico per impostazione predefinita, che confronta i caratteri in base ai loro punti di codice Unicode. Questo significa che le lettere maiuscole vengono ordinate prima delle minuscole ("Banana" prima di "apple") e le cifre prima delle lettere. L'ordinamento con localizzazione, a volte chiamato natural sort o collation, risolve il problema applicando regole specifiche per la lingua. Il metodo localeCompare() di JavaScript, locale.strxfrm() di Python e il comando POSIX sort con LC_COLLATE forniscono tutti un ordinamento con supporto di localizzazione.

L'ordinamento per lunghezza è utile quando è necessario trovare le voci più brevi o più lunghe in un elenco, identificare valori anomali nell'output di log o organizzare gli elementi per complessità. L'ordinamento inverso ribalta l'ordine esistente delle righe senza riordinarle, il che è diverso dall'ordinamento alfabetico Z-A. Il rimescolamento casuale assegna a ogni riga una chiave di ordinamento casuale, producendo un ordine diverso a ogni esecuzione. Passare da una modalità all'altra sullo stesso input è più veloce che scrivere uno script usa e getta.

Perché Usare Questo Ordinatore?

Incolla il testo, scegli una modalità di ordinamento e ottieni il risultato immediatamente. Nessuna configurazione da riga di comando, nessun file di script, nessuna installazione di pacchetti.

Ordinamento Istantaneo
I risultati appaiono mentre scrivi o incolli. Passa tra sei modalità di ordinamento e confronta l'output senza dover rieseguire nulla.
🔒
Elaborazione Privacy-First
Tutto l'ordinamento avviene nel browser con JavaScript. Il tuo testo rimane sul tuo dispositivo. Nulla viene inviato a un server né salvato da nessuna parte.
🔀
Sei Modalità di Ordinamento
A-Z, Z-A, più corti prima, più lunghi prima, ordine inverso e rimescolamento casuale. Un unico input copre le operazioni di ordinamento più comuni.
📋
Nessun Account Necessario
Apri la pagina e inizia a ordinare. Nessuna registrazione, nessuna estensione, nessuna app desktop. Funziona su qualsiasi dispositivo con un browser moderno.

Casi d'Uso dell'Ordinatore di Righe

Sviluppo Frontend
Ordina elenchi di classi CSS, istruzioni di importazione o chiavi di traduzione i18n in ordine alfabetico. Un ordinamento coerente riduce i conflitti di merge nel controllo versione e rende le revisioni del codice più rapide.
Sviluppo Backend
Ordina gli elenchi di dipendenze in package.json, requirements.txt o go.mod prima di fare commit. Ordina i nomi delle colonne SQL quando costruisci istruzioni CREATE TABLE o confronti diff di schema.
DevOps e Infrastruttura
Ordina i nomi delle variabili d'ambiente nei file .env, le voci dei ConfigMap di Kubernetes o i blocchi di variabili Terraform. L'ordine alfabetico permette di individuare duplicati e valori mancanti durante la revisione.
QA e Test Automation
Ordina i log di output dei test per timestamp o messaggio per isolare rapidamente i fallimenti. Randomizza i dati di input dei test per verificare che il comportamento dell'applicazione non dipenda dall'ordine di inserimento.
Data Engineering
Ordina le intestazioni CSV o gli elenchi di colonne prima di scrivere script di migrazione dello schema. Ordina le righe di campioni di dati per lunghezza per trovare righe troncate o valori insolitamente lunghi in una pipeline di dati.
Studenti e Autodidatti
Ordina elenchi di vocaboli, voci bibliografiche o appunti di studio in ordine alfabetico. Rimescola le righe delle flashcard per sessioni di ripasso casualizzate senza installare un'app separata.

Riferimento alle Modalità di Ordinamento

Questo strumento supporta sei modalità di ordinamento. La tabella seguente descrive ogni modalità, il metodo di confronto utilizzato e un risultato di esempio per l'elenco di input: apple, banana, cherry, date, fig.

ModalitàDescrizioneMetodo JSOutput di Esempio
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

Algoritmi di Ordinamento Dietro le Quinte

Quando chiami Array.sort() in JavaScript, il motore V8 (Chrome, Node.js) usa Timsort dal 2019. Altri runtime utilizzano algoritmi diversi. La tabella seguente confronta gli algoritmi di ordinamento più comuni usati nelle librerie standard dei linguaggi. Tutti gestiscono i carichi di lavoro di ordinamento righe di questo strumento in meno di un millisecondo per input tipici (fino a 100.000 righe).

AlgoritmoUsato DaTempoNote
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

Esempi di Codice

Ordina le righe in modo programmatico in JavaScript, Python, Go e dalla riga di comando. Ogni esempio copre l'ordinamento alfabetico, per lunghezza e inverso.

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

Domande Frequenti

Qual è la differenza tra ordinamento A-Z e natural sort?
L'ordinamento A-Z (lessicografico) confronta i caratteri in base al punto di codice Unicode. Questo significa che "item10" viene ordinato prima di "item2" perché il carattere '1' ha un punto di codice inferiore a '2'. Il natural sort tratta i numeri incorporati come valori numerici, quindi "item2" viene prima di "item10". Questo strumento utilizza l'ordinamento lessicografico con localizzazione tramite localeCompare(), che gestisce correttamente i caratteri accentati ma non esegue il natural sort sui numeri.
Il mio testo viene inviato a un server quando ordino le righe?
No. Tutto l'ordinamento avviene nel browser usando il metodo Array.sort() di JavaScript. Il testo non lascia mai il tuo dispositivo. Puoi verificarlo aprendo la scheda Rete negli Strumenti per sviluppatori del browser e confermando che non vengono effettuate richieste quando incolli e ordini il testo.
Quante righe può gestire questo strumento?
Lo strumento funziona bene con decine di migliaia di righe. L'implementazione Timsort di JavaScript in V8 gestisce 100.000 righe in meno di 100 millisecondi su hardware moderno. Per file più grandi di qualche megabyte, uno strumento da riga di comando come il comando Unix sort è più efficiente perché può usare il merge sort su disco e più thread.
Come funziona l'ordinamento senza distinzione tra maiuscole e minuscole?
Questo strumento usa String.localeCompare() con l'opzione { sensitivity: 'base' }, che rende il confronto insensibile alle maiuscole/minuscole, così che "Apple" e "apple" vengano ordinati insieme invece che in gruppi separati. Per impostazione predefinita, localeCompare() è sensibile alle maiuscole/minuscole; l'opzione esplicita è necessaria per il comportamento insensibile. Se hai bisogno di un ordinamento strettamente sensibile alle maiuscole dove le lettere maiuscole vengono prima, il comando Unix sort senza il flag -f fornisce questo comportamento.
Posso ordinare le righe e rimuovere i duplicati contemporaneamente?
Questo strumento ordina le righe ma non rimuove i duplicati. Per rimuovere le righe duplicate, usa lo strumento Rimozione Righe Duplicate nella stessa categoria. Puoi ordinare il testo qui prima, poi incollare il risultato nel rimozione duplicati per ottenere un elenco pulito, univoco e ordinato.
Qual è la differenza tra ordinamento inverso e ordinamento Z-A?
L'ordinamento inverso ribalta l'ordine originale delle righe: l'ultima riga diventa la prima, la penultima diventa la seconda e così via. Non è coinvolto nessun confronto alfabetico. L'ordinamento Z-A dispone le righe in ordine alfabetico decrescente indipendentemente dalla loro posizione originale. Se l'input è già ordinato A-Z, inverso e Z-A producono lo stesso output, ma per input non ordinato i risultati differiscono.
Come ordino le righe per una colonna o campo specifico?
Questo strumento ordina in base all'intero contenuto della riga. Per ordinare per una colonna specifica (ad esempio, il secondo campo in un file separato da tabulazioni), usa il comando Unix sort con il flag -k: sort -t$'\t' -k2,2 file.txt. In Python, suddividi ogni riga e usa una funzione chiave: sorted(lines, key=lambda x: x.split('\t')[1]).