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

Les deux révisions précédentes Révision précédente
Prochaine révision Les deux révisions suivantes
doc:systeme:commandes:les-commandes-join-paste-split-et-nl [05/08/2014 18:41]
Hypathie [sort]
doc:systeme:commandes:les-commandes-join-paste-split-et-nl [06/08/2014 16:43]
Hypathie [sort]
Ligne 302: Ligne 302:
  
 <note tip> <note tip>
-Les options ​utiles+__La commande sort permet__ : 
-  * ''​-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 +  * d'​afficher le contenu de fichiers ; 
-  * ''​-2''​ : n° de colonne +  * de trier les lignes d'un fichier texte, en fonction des colonnes. 
-  * ''​-n''​ : pour spécifier qu'il s'agit d'un tri numérique  +__ 
-  * ''​-d''​ : pour tri dictionnaire +Les options ​utiles__: 
-  * ''​-r''​ : pour un tri inverse (-rn ou -rd) + 
-  * ''​-M''​ : ordre chronologique+  ​* **''​-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) 
 +  ​* **''​-k''​** : pour spécifier la colonne ​(à la place de +POS1 -POS2) 
 +  ​* **''​-n''​** : pour spécifier qu'il s'agit d'un tri numérique 
 +  ​* **''​-d''​** : pour tri dictionnaire 
 +  ​* **''​-r''​** : pour un tri inverse (-rn [inverse de numérique] ​ou -rd [inverse d'​alphabétique]
 +  ​* **''​-M''​** : ordre chronologique
 </​note>​ </​note>​
  
-===Préparation=== 
  
-Soit le fichier "sort.txt"+ 
 +====Affichage de plusieurs fichiers avec sort ==== 
 + 
 +  * Comparaison avec la commande cat :
 <code user> <code user>
-cat sort.txt+cat sort1.txt
 </​code>​ </​code>​
 <​code>​ <​code>​
-Papi +1 Amandine 
-Toto +7 Bruno  
-Lili +3 2 Caroline
-Titi +
-4 Mami +
-003 Zaza +
-01 Nani+
 </​code>​ </​code>​
-=== Tri par défaut=== 
 <code user> <code user>
-sort ~/​Essai-text-processing/​users.sort+cat sort2.txt 
 +<​code>​ 
 +2 5 Daniel 
 +2 6 Émilien 
 +0 3 Fabrice 
 +0 4 Guillaume 
 +</​code>​ 
 + 
 +>Dans chacun de ses deux fichiers, les lignes ne sont pas rangées en fonction des colonnes 
 + 
 +<code user> 
 +sort sort1.txt sort2.txt
 </​code>​ </​code>​
 <​code>​ <​code>​
-003 Zaza +0 3 Fabrice 
-01 Nani +0 4 Guillaume 
-Toto +7 Bruno  
-Titi +5 Daniel 
-Lili +2 6 Émilien 
-4 Mami +2 Caroline 
-Papi+1 Amandine
 </​code>​ </​code>​
  
-===Tri avec choix de 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. 
 + 
 +====Enregistrer le résultat : option -o ==== 
 + 
 +===concaténer sort1.txt et sort2.txt et inscrire le résultat dans un fichier :===
  
 <code user> <code user>
-sort -t':'​ -k 2n sort.txt+sort -o sort3.txt sort1.txt sort2.txt 
 +</​code>​ 
 + 
 +<code user> 
 +cat sort3.txt
 </​code>​ </​code>​
 <​code>​ <​code>​
-003 Zaza +0 3 Fabrice 
-01 Nan +0 4 Guillaume 
-Toto +7 Bruno  
-Titi +5 Daniel 
-Lili +2 6 Émilien 
-4 Mami +2 Caroline 
-Papi+1 Amandine
 </​code>​ </​code>​
 +
 +====Trier selon un ordre alphabétique : option -d====
 +
 +
 +  * soit le fichier "​alpha-sort.txt"​ déjà trié par ordre numérique selon les colonnes 1 et 2 pour les doublons :
 +
 +<code user>
 +cat alpha-sort.txt
 +</​code>​
 +<​code>​
 +1 2 Francine
 +2 3 Édith
 +3 4 Géraldine
 +4 5 Béatrice
 +5 6 Christelle
 +5 7 Dorothée
 +6 8 Amanda
 +</​code>​
 +
 +  * Pour le trier avec sort par alphabétique :
 +<code user>
 +sort -k3d alpha-sort.txt
 +</​code>​
 +<​code>​
 +6 8 Amanda
 +4 5 Béatrice
 +5 6 Christelle
 +2 3 Édith
 +5 7 Dorothée
 +1 2 Francine
 +3 4 Géraldine
 +</​code>​
 +
 +> l'​option -k pour indiquer qu'on va utiliser une colonne spécifique pour le tri;
 +>3 pour spécifier le n° de colonne
 +>d pour spécifier le type de tri "​dictionnaire"​ ou ordre alphabétique
 +
 +====Tri selon plusieurs types ====
 +
 +  * Soit le fichier "​sort4.txt"​ qui est un extrait mélangé du fichier /etc/passwd :
 +<code user>
 +cat sort4.txt
 +</​code>​
 +<​code>​
 +daemon:​x:​1:​1:​daemon:/​usr/​sbin:/​bin/​sh
 +root:​x:​0:​0:​root:/​root:/​bin/​bash
 +man:​x:​6:​12:​man:/​var/​cache/​man:/​bin/​sh
 +bin:​x:​2:​2:​bin:/​bin:/​bin/​sh
 +news:​x:​9:​9:​news:/​var/​spool/​news:/​bin/​sh
 +sync:​x:​4:​65534:​sync:/​bin:/​bin/​sync
 +games:​x:​5:​60:​games:/​usr/​games:/​bin/​sh
 +mail:​x:​8:​8:​mail:/​var/​mail:/​bin/​sh
 +lp:​x:​7:​7:​lp:/​var/​spool/​lpd:/​bin/​sh
 +sys:​x:​3:​3:​sys:/​dev:/​bin/​sh
 +</​code>​
 +
 +
 +  * Pour faire un tri selon le shell des utilisateurs (7ième colonnes) et en cas de doublon pour cette colonne, en fonction ensuite de l'UID (3ième colonne)
 +
 +<code user>
 +sort -t':'​ -k 7d -k 3n sort4.txt
 +</​code>​
 +
 +> option -t':'​ pour spécifier le séparateur (par défaut c'est l'​espace ou la tabulation)\\ ​
 +> option -k pour indiquer les colonnes souhaitées\\ ​
 +> => **''​-t':'​ -k 7d -k 3n''​**
 +
 +<​code>​
 +root:​x:​0:​0:​root:/​root:/​bin/​bash
 +daemon:​x:​1:​1:​daemon:/​usr/​sbin:/​bin/​sh
 +bin:​x:​2:​2:​bin:/​bin:/​bin/​sh
 +sys:​x:​3:​3:​sys:/​dev:/​bin/​sh
 +games:​x:​5:​60:​games:/​usr/​games:/​bin/​sh
 +man:​x:​6:​12:​man:/​var/​cache/​man:/​bin/​sh
 +lp:​x:​7:​7:​lp:/​var/​spool/​lpd:/​bin/​sh
 +mail:​x:​8:​8:​mail:/​var/​mail:/​bin/​sh
 +news:​x:​9:​9:​news:/​var/​spool/​news:/​bin/​sh
 +sync:​x:​4:​65534:​sync:/​bin:/​bin/​sync
 +</​code>​
 +
 +
  
 =====la commande tr ===== =====la commande tr =====
doc/systeme/commandes/les-commandes-join-paste-split-et-nl.txt · Dernière modification: 06/11/2015 17:57 par paskal

Pied de page des forums

Propulsé par FluxBB