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`.