logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
doc:systeme:sort [07/08/2014 11:35]
Hypathie créée
doc:systeme:sort [03/10/2015 13:41] (Version actuelle)
milou
Ligne 1: Ligne 1:
-====== ​La commande ​sort ======+====== sort ======
  
   * Objet : utiliser la commande sort   * Objet : utiliser la commande sort
-  * Niveau requis : {{tag>​débutant}}+  * Niveau requis : {{tag>​débutant ​avisé}}
   * Commentaires : utilisation en ligne de commandes   * Commentaires : utilisation en ligne de commandes
   * Débutant, à savoir : [[:​doc:​systeme:​commandes:​le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-)   * Débutant, à savoir : [[:​doc:​systeme:​commandes:​le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-)
-  * Suivi : {{à-placer}}+  * Suivi : {{tag>à-tester}}
     * Création par [[user>​Hypathie]] 07/08/2014     * Création par [[user>​Hypathie]] 07/08/2014
     * Testé par <...> le <...>     * Testé par <...> le <...>
-  * Commentaires sur le forum : [[ ]] ((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !))+  * Commentaires sur le forum : [[https://​debian-facile.org/​viewtopic.php?​pid=96325#​p96325]] ((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !))
  
-==== Syntaxe et options courantes ====+===== Syntaxe et options courantes ​=====
  
   sort [options [+POS1] [-POS2]] [fichier...]   sort [options [+POS1] [-POS2]] [fichier...]
  
-<note tip>+
 __La commande sort permet__ : __La commande sort permet__ :
  
   * d'​afficher le contenu de fichiers ;   * d'​afficher le contenu de fichiers ;
   * de trier les lignes d'un fichier texte, en fonction des colonnes.   * de trier les lignes d'un fichier texte, en fonction des colonnes.
-__ + 
-Les options utiles__:+__Les options utiles__:
  
   * **''​-o''​** : inscrire la sortie dans un fichier   * **''​-o''​** : inscrire la sortie dans un fichier
 +
   * **''​-t''​** : pour spécifier le séparateur (par défaut ce sont les espaces ou les tabulations qui délimitent les colonnes)   * **''​-t''​** : pour spécifier le séparateur (par défaut ce sont les espaces ou les tabulations qui délimitent les colonnes)
 +
   * **''​-k''​** : pour spécifier la colonne (à la place de +POS1 -POS2)   * **''​-k''​** : pour spécifier la colonne (à la place de +POS1 -POS2)
 +
   * **''​-n''​** : pour spécifier qu'il s'agit d'un tri numérique   * **''​-n''​** : pour spécifier qu'il s'agit d'un tri numérique
 +
   * **''​-d''​** : pour tri dictionnaire   * **''​-d''​** : pour tri dictionnaire
 +
   * **''​-r''​** : pour un tri inverse (-rn [inverse de numérique] ou -rd [inverse d'​alphabétique])   * **''​-r''​** : pour un tri inverse (-rn [inverse de numérique] ou -rd [inverse d'​alphabétique])
 +
   * **''​-M''​** : ordre chronologique   * **''​-M''​** : ordre chronologique
 +
   * **''​-h''​** : comparer des nombres dans un format lisible par un  humain (par exemple, 2K 1G)   * **''​-h''​** : comparer des nombres dans un format lisible par un  humain (par exemple, 2K 1G)
 +
   * **''​-f''​** : (ignore-case) convertir les minuscules en majuscule   * **''​-f''​** : (ignore-case) convertir les minuscules en majuscule
  
-Voir man sort pour les autres options. 
-</​note>​ 
  
-====Afficher et trier ====+Voir : 
 +<code user>man sort</​code>​ 
 + 
 +pour les autres options ou pour un panorama rapide de ces options : 
 + 
 +<code user>​sort --help</​code>​ 
 +  
 + 
 + 
 +=====Afficher et trier =====
  
   * Comparaison avec la commande cat :   * Comparaison avec la commande cat :
Ligne 41: Ligne 56:
 cat sort1.txt cat sort1.txt
 </​code>​ </​code>​
-<code>+<file config retour de la commande>
 5 1 Amandine 5 1 Amandine
 1 7 Bruno  1 7 Bruno 
 3 2 Caroline 3 2 Caroline
-</code>+</file>
 <code user> <code user>
 cat sort2.txt cat sort2.txt
-<​code>​===+</code> 
 +<file config retour de la commande>​
 2 5 Daniel 2 5 Daniel
 2 6 Émilien 2 6 Émilien
 0 3 Fabrice 0 3 Fabrice
 0 4 Guillaume 0 4 Guillaume
-</code>+</file>
  
 >Dans chacun de ses deux fichiers, les lignes ne sont pas rangées en fonction des colonnes >Dans chacun de ses deux fichiers, les lignes ne sont pas rangées en fonction des colonnes
Ligne 60: Ligne 76:
 sort sort1.txt sort2.txt sort sort1.txt sort2.txt
 </​code>​ </​code>​
-<code>+<file config retour de la commande>
 0 3 Fabrice 0 3 Fabrice
 0 4 Guillaume 0 4 Guillaume
Ligne 68: Ligne 84:
 3 2 Caroline 3 2 Caroline
 5 1 Amandine 5 1 Amandine
-</code>+</file>
  
 >Même sans option, les deux fichiers ont été concaténés et leurs lignes rangées par ordre numérique croissant en fonction de la première colonne. >Même sans option, les deux fichiers ont été concaténés et leurs lignes rangées par ordre numérique croissant en fonction de la première colonne.
 >Si des doublons apparaissent dans la première colonne pour deux lignes consécutives,​ ces deux lignes seront rangées en fonction de leur deuxième colonne. >Si des doublons apparaissent dans la première colonne pour deux lignes consécutives,​ ces deux lignes seront rangées en fonction de leur deuxième colonne.
  
-====Enregistrer le résultat dans un fichier : option -o ====+=====Enregistrer le résultat dans un fichier : option -o =====
  
   * Concaténer "​sort1.txt"​ et "​sort2.txt"​ et inscrire le résultat dans un fichier :   * Concaténer "​sort1.txt"​ et "​sort2.txt"​ et inscrire le résultat dans un fichier :
Ligne 84: Ligne 100:
 cat sort3.txt cat sort3.txt
 </​code>​ </​code>​
-<code>+<file config retour de la commande>
 0 3 Fabrice 0 3 Fabrice
 0 4 Guillaume 0 4 Guillaume
Ligne 92: Ligne 108:
 3 2 Caroline 3 2 Caroline
 5 1 Amandine 5 1 Amandine
-</code>+</file>
  
-====Trier selon l'​ordre alphabétique d'une colonne : option -d====+=====Trier selon l'​ordre alphabétique d'une colonne : option -d=====
  
  
Ligne 102: Ligne 118:
 cat alpha-sort.txt cat alpha-sort.txt
 </​code>​ </​code>​
-<code>+<file config retour de la commande>
 1 2 Francine 1 2 Francine
 2 3 Édith 2 3 Édith
Ligne 110: Ligne 126:
 5 7 Dorothée 5 7 Dorothée
 6 8 Amanda 6 8 Amanda
-</code>+</file>
  
   * Pour le trier selon l'​ordre alphabétique d'une colonne :   * Pour le trier selon l'​ordre alphabétique d'une colonne :
Ligne 118: Ligne 134:
 sort -k3d alpha-sort.txt sort -k3d alpha-sort.txt
 </​code>​ </​code>​
-<code>+<file config retour de la commande>
 6 8 Amanda 6 8 Amanda
 4 5 Béatrice 4 5 Béatrice
Ligne 126: Ligne 142:
 1 2 Francine 1 2 Francine
 3 4 Géraldine 3 4 Géraldine
-</code>+</file>
  
 > l'​option -k pour indiquer qu'on va utiliser une colonne spécifique pour le tri; > l'​option -k pour indiquer qu'on va utiliser une colonne spécifique pour le tri;
Ligne 132: Ligne 148:
 >d pour spécifier le type de tri "​dictionnaire"​ ou ordre alphabétique >d pour spécifier le type de tri "​dictionnaire"​ ou ordre alphabétique
  
-====Trier selon l'​ordre numérique d'une colonne====+=====Trier selon l'​ordre numérique d'une colonne=====
   * soit le fichier "​sort.txt"​ :   * soit le fichier "​sort.txt"​ :
  
Ligne 138: Ligne 154:
 cat sort.txt cat sort.txt
 </​code>​ </​code>​
-<code+<file config retour de la commande
 pomme 2 pomme 2
 fraise 6 fraise 6
 abricot 9 abricot 9
 kiwi 3 kiwi 3
-</code>+</file>
  
   * Pour ordonner ce fichier selon l'​ordre numérique de la deuxième colonne :   * Pour ordonner ce fichier selon l'​ordre numérique de la deuxième colonne :
Ligne 151: Ligne 167:
 </​code>​ </​code>​
  
-<code>+<file config retour de la commande>
 pomme 2 pomme 2
 kiwi 3 kiwi 3
 fraise 6 fraise 6
 abricot 9 abricot 9
-</code>+</file>
  
-<note tip> 
 Si on avait voulu ranger ce fichier selon l'​ordre alphabétique,​ il aurait suffi de faire : Si on avait voulu ranger ce fichier selon l'​ordre alphabétique,​ il aurait suffi de faire :
  
-  ​sort sort.txt ​+<code user>sort sort.txt</​code>​
  
-Il aurait été inutile d'​indiquer la colonne car la première colonne comporte des chaînes de caractères.\\ +Il aurait été inutile d'​indiquer la colonne car la première colonne comporte des chaînes de caractères.
  
-Comme vous l'​aurez compris, par défaut, sort trie en fonction de la colonne n°1 selon le type qui est le sien, puis s'il faut, en fonction de la colonne n° 2et du type qui est celui de cette deuxième colonne.\\ +Comme vous l'​aurez compris, par défaut, sort trie en fonction de la colonne n°1 selon le type qui est le sien, puis s'​il ​le faut, en fonction de la colonne n° 2 et du type qui est celui de cette deuxième colonne.
  
-En fait, sed s'​adapte automatiquement au type du contenu de la première colonne, voire au type du contenu de la seconde colonne pour départager éventuellement les doublons de cette première colonne, même si les types diffèrent d'une colonne à l'​autre.\\  +En fait, sed s'​adapte automatiquement au type du contenu de la première colonne, voire au type du contenu de la seconde colonne pour départager éventuellement les doublons de cette première colonne, même si les types diffèrent d'une colonne à l'​autre.
-</​note>​+
  
-====Tri par défaut d'un fichier dont les colonnes présentent différents types====+ 
 +=====Tri par défaut d'un fichier dont les colonnes présentent différents types=====
  
   * Soit fichier "​xxx-sort.txt"​ désordonné selon ses types :   * Soit fichier "​xxx-sort.txt"​ désordonné selon ses types :
Ligne 176: Ligne 191:
 cat xxx-sort.txt ​ cat xxx-sort.txt ​
 </​code>​ </​code>​
-<code>+<file config retour de la commande>
 10 fraise 10 fraise
 pomme 6 pomme 6
 Titi grosminet Titi grosminet
 25 8 25 8
-</code>+</file>
   * Par défaut, sort trie selon l'​ordre numérique d'​abord puis par ordre alphabétique :    * Par défaut, sort trie selon l'​ordre numérique d'​abord puis par ordre alphabétique : 
 <code user> <code user>
 sort xxx-sort.txt sort xxx-sort.txt
 </​code>​ </​code>​
-<code+<file config retour de la commande>
 10 fraise 10 fraise
 25 8 25 8
 pomme 6 pomme 6
 Titi grosminet Titi grosminet
-</code>+</file>
  
   * de même pour l'​autre colonne :   * de même pour l'​autre colonne :
Ligne 197: Ligne 212:
 sort -k2 xxx-sort.txt sort -k2 xxx-sort.txt
 </​code>​ </​code>​
-<code>+<file config retour de la commande>
 pomme 6 pomme 6
 25 8 25 8
 10 fraise 10 fraise
 Titi grosminet Titi grosminet
-</code>+</file>
  
  
-====Trier selon plusieurs colonnes et différents types ====+=====Trier selon plusieurs colonnes et différents types =====
  
   * Soit le fichier "​sort4.txt"​ qui est un extrait du fichier **/​etc/​passwd** dont j'ai pris quelques lignes que ai interverties pour cet exemple :   * Soit le fichier "​sort4.txt"​ qui est un extrait du fichier **/​etc/​passwd** dont j'ai pris quelques lignes que ai interverties pour cet exemple :
Ligne 211: Ligne 226:
 cat sort4.txt cat sort4.txt
 </​code>​ </​code>​
-<code>+<file config retour de la commande>
 daemon:​x:​1:​1:​daemon:/​usr/​sbin:/​bin/​sh daemon:​x:​1:​1:​daemon:/​usr/​sbin:/​bin/​sh
 root:​x:​0:​0:​root:/​root:/​bin/​bash root:​x:​0:​0:​root:/​root:/​bin/​bash
Ligne 222: Ligne 237:
 lp:​x:​7:​7:​lp:/​var/​spool/​lpd:/​bin/​sh lp:​x:​7:​7:​lp:/​var/​spool/​lpd:/​bin/​sh
 sys:​x:​3:​3:​sys:/​dev:/​bin/​sh sys:​x:​3:​3:​sys:/​dev:/​bin/​sh
-</code>+</file>
  
  
Ligne 231: Ligne 246:
 </​code>​ </​code>​
  
-> **''​-t':'​ ''​** pour spécifier le séparateur **'':''​** (par défaut c'est l'​espace ou la tabulation, il faut donc indiquer le séparateur pour les fichiers de type.)+> **''​-t':'​ ''​** pour spécifier le séparateur **'':''​** (par défaut c'est l'​espace ou la tabulation, il faut donc indiquer le séparateur pour les fichiers de >type.) 
 +>
 > **''​-k''​** ​ pour indiquer les colonnes souhaitées > **''​-k''​** ​ pour indiquer les colonnes souhaitées
 +>
 > **''​7d''​** ​ pour **7**ième colonne type "​**d**ictionnaire"​ > **''​7d''​** ​ pour **7**ième colonne type "​**d**ictionnaire"​
 +>
 > **''​3n''​** ​ pour **3**ième colonne type "​**n**umérique"​ > **''​3n''​** ​ pour **3**ième colonne type "​**n**umérique"​
  
-<code>+<file config retour de la commande>
 root:​x:​0:​0:​root:/​root:/​bin/​bash root:​x:​0:​0:​root:/​root:/​bin/​bash
 daemon:​x:​1:​1:​daemon:/​usr/​sbin:/​bin/​sh daemon:​x:​1:​1:​daemon:/​usr/​sbin:/​bin/​sh
Ligne 247: Ligne 265:
 news:​x:​9:​9:​news:/​var/​spool/​news:/​bin/​sh news:​x:​9:​9:​news:/​var/​spool/​news:/​bin/​sh
 sync:​x:​4:​65534:​sync:/​bin:/​bin/​sync sync:​x:​4:​65534:​sync:/​bin:/​bin/​sync
-</code>+</file>
  
  
doc/systeme/sort.1407404159.txt.gz · Dernière modification: 07/08/2014 11:35 par Hypathie

Pied de page des forums

Propulsé par FluxBB