← retour aux snippets

sort: trier par colonne numérique de façon stable

Trier des fichiers TSV/CSV selon une colonne numérique, stablement et en respectant la locale.

bash text #sort#csv#tsv

objectif

Classer des lignes par une colonne numérique spécifique sans mélanger les égalités.

code minimal

# TSV: trier par 3e colonne (numérique), stable
LC_ALL=C sort -t $'\t' -k3,3n -s input.tsv > sorted.tsv

utilisation

# CSV: 2e colonne numérique (virgules)
LC_ALL=C sort -t, -k2,2n -s data.csv > data_sorted.csv

# inverser (décroissant)
LC_ALL=C sort -t, -k2,2nr -s data.csv > data_sorted_desc.csv

variante(s) utile(s)

# utiliser -h pour tailles "humaines"
LC_ALL=C sort -h -k5,5 file_ls.txt

notes

  • LC_ALL=C pour un tri byte-wise rapide et reproductible.
  • -s rend le tri stable (préserve l’ordre des égalités).