Accueil
 1  Licence
 2  Prologue
 3  Système d'exploitation, système d'exploitation Unix
 4  Première utilisation
 5  Système de fichiers
 6  Shell
 7  Processus
 8  Quelques outils supplémentaires
 8.1  Éditeurs de texte sous Unix
 8.2  Recherche d'expression (grep) et sélection de champs (cut)
 8.3  Tris (sort), fusion (paste) et éclatement (split) de fichiers
 8.4  Recherche de fichiers (find)
 8.5  Archivage (tar)
 8.6  Autres utilitaires de gestion de l'espace de stockage
 8.7  Conclusion
 9  Communications sous Unix
 10  Épilogue: Rappels importants
 Index
 Glossaire
 Foire Aux Questions
 Aide

 Contacts

W3C validator

Département INF  
 Initiation à UNIX


8.3 Tris (sort), fusion (paste) et éclatement (split) de fichiers

  • La commande sort trie les lignes d’un ou plusieurs fichiers de texte.
    • Par défaut, le tri se fait suivant l’ordre lexicographique.
    • Par exemple, la commande suivante trie le fichier /etc/passwd:  
      problème génération shellcmds verbatim
    • Un certain nombre d’options sont fournies pour modifier l’ordre du tri: -n pour tri numérique, -r pour tri inversé, -k x pour tri à partir du champ x, -k x,y pour tri sur les champs de x à y, -t c pour utiliser le séparateur de champs c...
  • La commande paste fusionne ligne à ligne des fichiers. Par exemple, la commande suivante fusionne ligne à ligne les fichiers fic1 et fic2 en un fichier fic3:  

    problème génération shellcmds verbatim

  • La commande split éclate un fichier en plusieurs fichiers.
    • Par défaut, split éclate un fichier en fichiers de 1000 lignes ayant pour nom xaa, xab...
  • Par exemple, pour éclater le fichier /etc/passwd en fichier(s) de 12 lignes:  

    problème génération shellcmds verbatim

    previous     next 


Polycopié de cours Commentaires de cette page dans le polycopié de cours

 
La commande sort est capable de distinguer des champs et de limiter le tri à des portions de lignes. La notion de champ correspond à des chaînes de caractères séparées les unes des autres par un caractère séparateur qui est par défaut espace ou tabulation mais que l’on peut remplacer par un autre caractère x grâce à l’option -tx (et non -dx comme avec cut). Pour effectuer le tri seulement sur une portion de la ligne, on utilise l’option -k d,f (d et f entiers) qui signifie tri sur la portion comprise entre le champ d et le champ f inclus. Si on ne précise pas de position de fin (-k d), le tri porte alors sur la portion comprise à partir du champ d et jusqu’à la fin de la ligne. Lorsque le critère de tri choisi entraîne une égalité entre deux lignes, celles-ci sont alors classées selon les critères par défaut. Mais on peut donner plusieurs critères en précisant plusieurs portions. Pour un tri sur plusieurs portions, les choix effectués par les options (tri numérique, inversé...) s’appliquent à toutes les portions, mais on peut préciser des critères spécifiques à chaque portion en ajoutant un type aux positions qui la définissent (par exemple, -k 3,3 -k 5n). La commande sort possède de nombreuses autres options dont celle qui permet de fixer le nom du fichier pour le stockage des résultats, au lieu de la sortie standard.

Pour la commande split, on peut également choisir une taille n (autre que 1000) pour chaque portion grâce à l’option -n. Certaines versions de split offrent une option (-b) permettant un découpage en tranches de n octets (-b n), de n kilo-octets (-b nk) ou de n méga-octets (-b nm).

L’illustration interactive en mode commande qui suit vous présente des exemples d’utilisation de la commande sort. Vous n’allez voir que la deuxième des quatre parties de cette illustration interactive qui couvre le contenu de plusieurs pages du cours.

Illustration Interactive« Commande “sort” »


Question: Règle des 3 bouées
Auto-évaluation: pas compris pas sûr de comprendre compris

INF, Télécom SudParis, CSC 3001, Sept. 2014