accueil > Traitement et recherche de texte > sort

Guide de la commande sort : Tri des fichiers texte

`sort` est utilisé pour trier les lignes d'un fichier texte ou les données reçues en entrée standard. Il peut trier les données selon divers critères tels que l'ordre alphabétique, l'ordre numérique, ou en ordre inverse, ce qui est extrêmement utile pour l'analyse des fichiers journaux, la préparation des données, et la génération de rapports. Grâce à ce guide, vous apprendrez les bases de l'utilisation de la commande `sort` et les différentes options de tri.

Aperçu de sort

`sort` compare fondamentalement chaque ligne dans son intégralité et envoie les résultats triés en ordre ASCII (ordre lexicographique) à la sortie standard. Le fichier d'origine n'est pas modifié et pour enregistrer les modifications dans un fichier, vous devez utiliser la redirection (`>`).

Principales fonctions de sort

`sort` est principalement utilisé pour les objectifs suivants :

Domaines d'utilisation principaux

  • Tri des données: Il améliore la lisibilité en triant des fichiers journaux, des listes de données, des listes d'utilisateurs, etc., selon des critères spécifiques.
  • Suppression des doublons: Il permet de supprimer facilement les lignes dupliquées basées sur des données triées. (À utiliser avec `uniq`)
  • Génération de rapports: Il trie les données sur la base de champs spécifiques pour les rendre plus faciles à analyser.
  • Comparaison de fichiers: Il peut être utilisé pour normaliser le contenu de deux fichiers avant de les comparer.

Principe de base du tri

`sort` compare fondamentalement à partir du premier caractère de chaque ligne en fonction de la valeur du code de caractère (valeur ASCII). Même pour les chiffres, ils sont traités comme des chaînes, ce qui peut conduire à des résultats inattendus, comme '10' apparaissant avant '2'. Pour éviter cela, vous devez utiliser l'option de tri numérique.

Options principales de la commande sort

`sort` propose diverses options qui vous permettent de contrôler finement les critères de tri, l'ordre, et le traitement des doublons.

1. Critères et ordre de tri

2. Options de traitement des doublons et des espaces

3. Options de sortie et de délimiteur

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

Apprenez à trier et analyser efficacement des données textuelles à travers divers exemples d'utilisation de la commande `sort`.

Tri de base du contenu d'un fichier

echo -e "Charlie\nAlice\nBob" > names.txt
sort names.txt

Trie les lignes du fichier `names.txt` en ordre alphabétique (ordre croissant).

Tri inverse (ordre décroissant) du contenu d'un fichier

echo -e "10\n2\n100" > numbers.txt
sort -r numbers.txt

Trie les nombres du fichier `numbers.txt` en les considérant comme des chaînes dans l'ordre inverse.

Tri basé sur des valeurs numériques

echo -e "20 Bob\n10 Alice\n100 Charlie" > scores.txt
sort -n scores.txt

Trie les scores (premier champ) du fichier `scores.txt` en ordre croissant sur la base de valeurs numériques réelles.

Tri basé sur la deuxième colonne (nom) d'un fichier CSV

echo -e "1,Bob,Seoul\n3,Alice,Busan\n2,Charlie,Jeju" > users.csv
sort -t',' -k 2 users.csv

Trie le fichier `users.csv` délimité par des virgules (`,`) en fonction du deuxième champ (nom).

Suppression de lignes dupliquées après tri

echo -e "apple\nbanana\napple\ncherry" > duplicates.txt
sort -u duplicates.txt

Trie le contenu du fichier `duplicates.txt`, puis ne conserve qu'une seule occurrence des lignes en double.

Enregistrer les résultats triés dans un nouveau fichier

echo -e "Zebra\nCat\nDog" > unsorted.txt
sort unsorted.txt -o sorted.txt

Trie le contenu du fichier `unsorted.txt` puis enregistre le résultat dans le fichier `sorted.txt`. Le fichier d'origine n'est pas modifié.

Tri basé sur des tailles lisibles par l'homme

echo -e "10K file1\n2M file2\n500K file3\n1G file4" > sizes.txt
sort -h sizes.txt

Trie une liste de tailles de fichiers en tenant compte des unités lisibles par l'homme (K, M, G). Utile lorsque vous triez les résultats de `du -h`.


Commandes de la même catégorie