Trieur de lignes

Trier les lignes alphabétiquement, par longueur, inverser ou aléatoriser l'ordre des lignes

Essayer un exemple

Lignes d'entrée

Lignes triées

Fonctionne localement · Sûr pour coller des secrets
Les lignes triées apparaîtront ici…

Qu'est-ce que le tri de lignes ?

Le tri de lignes est le processus de réorganisation des lignes d'un bloc de texte selon une règle précise : ordre alphabétique, ordre inverse, longueur de ligne ou mélange aléatoire. Trier des lignes en ligne est une tâche courante lors du traitement de fichiers journaux, de données CSV, de listes de configuration ou de tout contenu en texte brut où l'ordre est important. L'opération découpe le texte sur les caractères de saut de ligne, applique une fonction de comparaison au tableau résultant, puis réassemble les lignes triées.

La plupart des langages de programmation trient les chaînes de caractères par comparaison lexicographique par défaut, ce qui compare les caractères selon leurs points de code Unicode. Cela signifie que les majuscules sont triées avant les minuscules ("Banane" avant "ananas"), et les chiffres avant les lettres. Le tri tenant compte de la locale, parfois appelé tri naturel ou collation, corrige cela en appliquant des règles propres à la langue. La méthode localeCompare() de JavaScript, la fonction locale.strxfrm() de Python et la commande POSIX sort avec LC_COLLATE fournissent tous un tri respectant la locale.

Le tri par longueur est utile pour trouver les entrées les plus courtes ou les plus longues d'une liste, identifier les valeurs aberrantes dans une sortie de journal, ou organiser les éléments par complexité. Le tri inverse retourne l'ordre actuel des lignes sans les réordonner, ce qui est différent du tri alphabétique Z-A. Le mélange aléatoire attribue à chaque ligne une clé de tri aléatoire, produisant un ordre différent à chaque exécution. Passer d'un mode à l'autre sur le même contenu est plus rapide qu'écrire un script ponctuel.

Pourquoi utiliser ce trieur de lignes ?

Colle ton texte, choisis un mode de tri et obtiens le résultat instantanément. Pas de configuration en ligne de commande, pas de fichiers de script, pas d'installation de paquets.

Tri instantané
Les résultats apparaissent au fur et à mesure que tu tapes ou colles. Passe entre six modes de tri et compare les sorties sans rien relancer.
🔒
Traitement respectueux de la vie privée
Tout le tri s'effectue dans ton navigateur avec JavaScript. Ton texte reste sur ton appareil. Rien n'est envoyé à un serveur ni journalisé.
🔀
Six modes de tri
A-Z, Z-A, du plus court au plus long, du plus long au plus court, ordre inverse et mélange aléatoire. Une seule interface couvre les tâches de tri de lignes les plus courantes.
📋
Sans compte requis
Ouvre la page et commence à trier. Sans inscription, sans extension, sans application de bureau. Fonctionne sur n'importe quel appareil avec un navigateur moderne.

Cas d'usage du trieur de lignes

Développement frontend
Trie les listes de classes CSS, les instructions d'import ou les clés de traduction i18n alphabétiquement. Un ordre cohérent réduit les conflits de fusion dans le contrôle de version et accélère les revues de code.
Ingénierie backend
Ordonne les listes de dépendances dans package.json, requirements.txt ou go.mod avant de les valider. Trie les noms de colonnes SQL lors de la construction d'instructions CREATE TABLE ou de la comparaison de différences de schémas.
DevOps et infrastructure
Trie les noms de variables d'environnement dans les fichiers .env, les entrées de ConfigMap Kubernetes ou les blocs de variables Terraform. L'ordre alphabétique permet de repérer les doublons et les valeurs manquantes lors des revues.
Assurance qualité et automatisation des tests
Trie les journaux de sortie de tests par horodatage ou message pour isoler rapidement les échecs. Mélange les données d'entrée des tests pour vérifier que le comportement de l'application ne dépend pas de l'ordre d'insertion.
Ingénierie des données
Ordonne les en-têtes CSV ou les listes de colonnes avant d'écrire des scripts de migration de schéma. Trie les lignes d'échantillons de données par longueur pour trouver les lignes tronquées ou les valeurs inhabituellement longues dans un pipeline de données.
Étudiants et apprenants
Trie des listes de vocabulaire, des entrées bibliographiques ou des notes d'étude alphabétiquement. Mélange des lignes de fiches pour des sessions de révision aléatoires sans installer d'application supplémentaire.

Référence des modes de tri de lignes

Cet outil propose six modes de tri. Le tableau ci-dessous décrit chaque mode, la méthode de comparaison utilisée et un exemple de résultat pour la liste d'entrée : pomme, banane, cerise, datte, figue.

ModeDescriptionMéthode JSExemple de sortie
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

Algorithmes de tri en coulisses

Lorsque tu appelles Array.sort() en JavaScript, le moteur V8 (Chrome, Node.js) utilise Timsort depuis 2019. D'autres environnements d'exécution utilisent des algorithmes différents. Le tableau ci-dessous compare les algorithmes de tri les plus courants utilisés dans les bibliothèques standard des langages. Tous gèrent les charges de tri de lignes de cet outil en moins d'une milliseconde pour des données typiques (moins de 100 000 lignes).

AlgorithmeUtilisé parComplexitéNotes
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

Exemples de code

Trie des lignes par programmation en JavaScript, Python, Go et en ligne de commande. Chaque exemple couvre le tri alphabétique, par longueur et inversé.

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

Questions fréquentes

Quelle est la différence entre le tri A-Z et le tri naturel ?
Le tri A-Z (lexicographique) compare les caractères par leur point de code Unicode. Cela signifie que "item10" est trié avant "item2" car le caractère '1' a un point de code inférieur à '2'. Le tri naturel traite les nombres intégrés comme des valeurs numériques, de sorte que "item2" vient avant "item10". Cet outil utilise le tri lexicographique tenant compte de la locale via localeCompare(), qui gère correctement les caractères accentués mais n'effectue pas de tri naturel sur les nombres.
Mon texte est-il envoyé à un serveur lors du tri des lignes ?
Non. Tout le tri s'effectue dans ton navigateur via la méthode Array.sort() de JavaScript. Le texte ne quitte jamais ton appareil. Tu peux le vérifier en ouvrant l'onglet Réseau des DevTools du navigateur et en confirmant qu'aucune requête n'est effectuée lorsque tu colles et tries du texte.
Combien de lignes cet outil peut-il traiter ?
L'outil fonctionne bien avec des dizaines de milliers de lignes. L'implémentation Timsort de JavaScript dans V8 traite 100 000 lignes en moins de 100 millisecondes sur du matériel récent. Pour les fichiers de plusieurs mégaoctets, un outil en ligne de commande comme la commande Unix sort est plus efficace car il peut utiliser le tri par fusion sur disque et plusieurs fils d'exécution.
Comment fonctionne le tri insensible à la casse ?
Cet outil utilise String.localeCompare() avec l'option { sensitivity: 'base' }, qui rend la comparaison insensible à la casse afin que "Apple" et "apple" soient triés ensemble plutôt que dans des groupes séparés. Par défaut, localeCompare() est sensible à la casse ; l'option explicite est requise pour un comportement insensible à la casse. Si tu as besoin d'un tri strict sensible à la casse où les majuscules viennent en premier, la commande Unix sort sans le drapeau -f donne ce comportement.
Puis-je trier les lignes et supprimer les doublons en même temps ?
Cet outil trie les lignes mais ne supprime pas les doublons. Pour supprimer les lignes en double, utilise l'outil Suppresseur de lignes en double dans la même catégorie. Tu peux d'abord trier ton texte ici, puis coller le résultat dans le suppresseur de doublons pour obtenir une liste propre, unique et triée.
Quelle est la différence entre le tri inversé et le tri Z-A ?
Le tri inversé retourne l'ordre original des lignes : la dernière ligne devient la première, l'avant-dernière devient la deuxième, et ainsi de suite. Aucune comparaison alphabétique n'est impliquée. Le tri Z-A arrange les lignes par ordre alphabétique décroissant quelle que soit leur position originale. Si ton contenu est déjà trié A-Z, inversé et Z-A produisent le même résultat, mais pour un contenu non trié les résultats diffèrent.
Comment trier les lignes par une colonne ou un champ spécifique ?
Cet outil trie selon le contenu entier de la ligne. Pour trier par une colonne spécifique (par exemple, le deuxième champ d'un fichier séparé par des tabulations), utilise la commande Unix sort avec le drapeau -k : sort -t$'\t' -k2,2 fichier.txt. En Python, découpe chaque ligne et utilise une fonction clé : sorted(lines, key=lambda x: x.split('\t')[1]).