Aperçu
La commande `sort` réarrange chaque ligne d'un fichier texte selon des critères spécifiés et l'envoie vers la sortie standard. Par défaut, elle trie par ordre alphabétique, mais diverses options permettent de trier selon des nombres, des mois, des champs spécifiques, etc. L'option `-n` est particulièrement essentielle pour s'assurer que les nombres sont triés correctement en tant que valeurs numériques réelles et non comme des chaînes de caractères.
Fonctionnalités principales
- Tri ligne par ligne des fichiers texte
- Support de divers critères de tri : alphabétique, numérique, mensuel, etc.
- Fonctionnalités d'élimination des doublons et de tri par champ spécifique
- Traitement de l'entrée standard et des fichiers
Options principales
La commande `sort` prend en charge une variété d'options pour offrir des fonctionnalités de tri puissantes. Voici les options les plus couramment utilisées.
Critères de tri
Sortie et autres
Commande générée :
Essayez de combiner les commandes.
Description:
`sort` Exécute la commande.
Essayez d'exécuter virtuellement les commandes avec l'IA en combinant les options ci-dessus.
Exemples d'utilisation
Voici des exemples concrets d'utilisation de la commande `sort` avec ses options principales.
Tri numérique de base
cat numbers.txt
# Exemple de sortie :
# 10
# 2
# 1
# 20
sort -n numbers.txt
# Sortie attendue :
# 1
# 2
# 10
# 20
Trie le contenu du fichier numbers.txt par ordre numérique croissant.
Tri numérique inversé
sort -nr numbers.txt
# Sortie attendue :
# 20
# 10
# 2
# 1
Trie le contenu du fichier numbers.txt par ordre numérique décroissant.
Tri par champ spécifique (numérique)
cat data.csv
# Exemple de sortie :
# apple,100,red
# banana,20,yellow
# cherry,50,red
sort -t, -nk2 data.csv
# Sortie attendue :
# banana,20,yellow
# cherry,50,red
# apple,100,red
Trie le fichier data.csv en utilisant le deuxième champ, séparé par des virgules (,), selon l'ordre numérique.
Tri numérique avec suppression des doublons
cat numbers_dup.txt
# Exemple de sortie :
# 10
# 2
# 1
# 20
# 2
sort -nu numbers_dup.txt
# Sortie attendue :
# 1
# 2
# 10
# 20
Trie le contenu du fichier numbers_dup.txt par ordre numérique et supprime les lignes dupliquées.
Sauvegarder le résultat du tri dans un fichier
sort -n input.txt -o sorted_numbers.txt
cat sorted_numbers.txt
Trie le contenu du fichier input.txt par ordre numérique, puis sauvegarde le résultat dans le fichier sorted_numbers.txt.
Conseils et précautions
La commande `sort` est très puissante, mais une utilisation incorrecte peut entraîner des résultats inattendus. Suivez ces conseils et précautions pour l'utiliser efficacement.
Conseils utiles
- `sort` effectue par défaut un tri stable. Cela signifie que l'ordre relatif des enregistrements ayant des clés identiques est préservé.
- Lors de l'utilisation de l'option `-k`, les numéros de champ commencent à 1.
- Pour le tri de fichiers volumineux, spécifier un répertoire temporaire avec l'option `-T` peut améliorer les performances.
- Elle est souvent utilisée avec des pipes (`|`) pour trier la sortie d'autres commandes (par exemple : `ls -l | sort -nk5`).
Précautions
- Sans l'option `-n`, le tri des nombres peut être effectué par ordre alphabétique, où '10' précède '2', ce qui peut donner des résultats inattendus. Utilisez toujours `-n` pour le tri numérique.
- L'ordre de tri peut varier en fonction des paramètres régionaux (locale). Pour des résultats cohérents, vous pouvez spécifier explicitement la locale, par exemple avec `LC_ALL=C sort`.