SORT(1) Manuel de l'utilisateur Linux SORT(1) NOM sort - Trier les lignes d'un fichier texte. SYNOPSIS sort [-cmus] [-t séparateur] [-o fichier_de_sortie] [-T répertoire_temporaire] [-bdfiMnr] [+POS1 [-POS2]] [-k POS1[,POS2]] [fichier...] sort {--help,--version} DESCRIPTION Cette page de manuel documente la version GNU de sort. sort trie, regroupe ou compare toutes les lignes des fichiers indiqués. Si aucun fichier n'est fourni, ou si le nom `-' est mentionné, la lecture se fera depuis l'entrée standard. Par défaut, sort écrit ses résultats sur la sortie stan dard. sort peut opérer suivant trois modes : tri (par défaut), regroupement, et vérification de l'ordre. Les options suivantes modifient le mode opératoire : -c ([NDT] c = check - vérifier) Vérifie si les fichiers fournis sont déjà triés : s'ils ne le sont pas, afficher un message d'erreur, et terminer avec un code de retour valant 1. -m ([NDT] m = merge - melanger) Regrouper les fichiers indiqués en les triant. Chaque fichier d'entrée doit déjà être trié individuellement. Il est tou jours possible de trier plutôt que de réunir, le regroupement est fourni parce qu'il est plus rapide dans les cas où il fonctionne. La comparaison de deux lignes se fait ainsi : Si un champ clé a été indiqué, sort compare chaque paire de champs, dans l'ordre précisé sur la ligne de commande, jusqu'à ce qu'une différence soit trouvée, ou qu'il ne reste plus de champs. Si l'une des options globales Mbdfinr est utilisée, et si aucun champ clé n'est indiqué, sort compare les lignes entières en fonction des options globales. Finalement, si toutes les clés sont égales, en dernier ressort sort compare les lignes octet par octet suivant l'ordre défini sur la machine. Cette dernière comparaison accepte l'option globale -r. L'option -s (stable) inhibe cette comparaison en dernier recours afin que les lignes considérées comme égales restent à leurs positions rela tives. Si aucun champ clé, et aucune option ne sont four nis, -s est sans effet. FSF 14 Janvier 1997 1 SORT(1) Manuel de l'utilisateur Linux SORT(1) La version GNU de sort n'a pas de limitation concernant la longueur des lignes d'entrée ou les caractères autorisés. De plus, si le dernier octet d'une ligne d'entrée n'est pas un saut de ligne (NewLine), la version GNU de sort en ajoute un automatiquement. Si la variable d'environnement TMPDIR est configurée, sort utilise ce répertoire pour stocker les fichiers tempo raires à la place du répertoire par défaut /tmp. L'option -T répertoire_temporaire permet également de sélectionner un répertoire pour placer les fichiers temporaires, elle a priorité sur la variable d'environnement. Les options suivantes affectent l'ordre des lignes de sor tie. Elles peuvent être mentionnées globalement, ou appliquées à un champ clé spécifique. Si aucun champ clé n'est indiqué, les options globales s'appliquent aux com paraisons des lignes entières, sinon elles sont transmises aux champs clés n'ayant pas d'option spécifique. -b Ignorer les blancs en début de ligne pendant la recherche de la clé de tri sur chaque ligne. -d Trier dans l'ordre des répertoires téléphoniques : ignorer pour le tri tous les caractères autres que les lettres, les chiffres et les blancs. -f Considérer les minuscules comme leur équivalent en majuscule pendant le tri. Ainsi `b' est trie de manière équivalente a `B'. ([NDT] Bien entendu cela ne fonctionne pas avec les minuscules accentuées...) -i Ignorer pour le tri les caractères en dehors de l'intervalle ASCII octal 040-0176 (bornes com prises). -M Une chaîne initiale, consistant en un nombre quel conque de blancs, suivi de trois lettres correspon dant à une abreviation de mois est convertie en majuscules avant d'être comparée dans l'ordre `JAN' < `FEB' < ... < `DEC.' Les noms invalides sont considéres comme inférieurs aux noms valides. ([NDT] Qu'en-est-il vis à vis de la localisation ?) -n Comparer suivant la valeur arithmétique d'une chaîne numérique initiale composée d'espaces éventuels, suivis optionnellement du signe -, et de zéro ou plusieurs chiffres, éventuellement suivi d'un point décimal et de zéro ou plusieurs chiffres. -r Inverser l'ordre de tri, afin que les lignes avec la plus grande valeur de clé apparaissent en FSF 14 Janvier 1997 2 SORT(1) Manuel de l'utilisateur Linux SORT(1) premier. Les autres options sont : -o fichier_de_sortie Ecrire dans le fichier_de_sortie plutôt que sur la sortie standard. Si fichier_de_sortie est égale ment un fichier d'entrée, sort copie les données dans un fichier temporaire avant le tri pour pou voir écrire correctement ses résultats dans le fichier_de_sortie. -t caractère_séparateur Utiliser le caractère_séparateur afin de distinguer les champs pour rechercher la clé de tri sur chaque ligne. Par défaut le séparateur de champs est une chaîne blanche entre chaînes non-blanches. Ceci signifie qu'avec l'entrée ` foo bar', sort distingue deux champs ` foo' et ` bar'. Le sépara teur n'appartient ni au champ précédent, ni au champ suivant. -u Pour l'action par défaut, ou pour l'action -m, n'afficher que la première séquence de lignes con sidérées comme égales. Pour l'action -c, vérifier qu'aucune lignes consécutives ne soient égales. +POS1 [-POS2] Indiquer un champ à utiliser comme clé de tri pour chaque ligne. Le champ consiste en une portion de de ligne débutant à la position POS1, et s'étendant jusqu'à POS2 non-inclue (ou jusqu'à la fin de la ligne si POS2 n'est pas mentionnée). Les positions des champs et des caractères sont numérotées à par tir de 0. -k POS1[,POS2] Une autre syntaxe possible pour indiquer les clés de tri. Les positions des champs et des caractères sont numérotées à partir de 1. Une position est de la forme f.c, où f est le numéro du champ à utiliser, et c le numéro du premier caractère depuis le début du champ (avec +pos) ou depuis la fin du champ précédent (avec -pos). La partie .c de la position peut être omise, auquel cas le caractère considéré est le premier du champ. Si l'option -b est choisie, la partie .c d'une spécification de champ est comptée à partir du premier caractère non-blanc du champ (pour +pos) ou à par tir du premier caractère non-blanc suivant le champ précédent (pour -pos). Un argument +pos ou -pos peut également avoir un préfixe constitué d'une des lettres d'option Mbdfinr auquel cas FSF 14 Janvier 1997 3 SORT(1) Manuel de l'utilisateur Linux SORT(1) les options globales ne s'appliquent pas à ce champ. l'option -b peut être attachée indépendament aux parties +pos ou -pos d'une spécification de champ. Si elle est héritée d'une option globale, elle s'appliquera aux deux parties. Si une option -n ou -M est utilisée, ceci implique que l'option -b s'applique aux deux spécifica tions +pos et -pos. Les clés peuvent s'étendre sur plusieurs champs. De plus quand la version GNU de sort est invoquée avec un seul argument, les options suivantes sont reconnues : --help Afficher un message d'aide sur la sortie standard et terminer normalement. --version Afficher un numéro de version sur la sortie stan dard et terminer normalement. COMPATIBILITE Les implémentations historiques (BSD et System V) de sort diffèrent dans leurs interprétations de certaines options, notamment -b, -f, et -n. La version GNU suit le comporte ment POSIX, qui est généralement (mais pas toujours) celui de la version System V. Suivant POSIX -n n'implique plus obligatoirement -b. Pour assurer l'homogénéïte, -M a été modifiée de la même manière. Dans certains cas, assez obscurs, ceci peut affecter la signification des positions de caractères dans les spécifications de champs. Si ceci vous perturbe, vous pouvez ajouter explicitement un -b. BUGS Les différentes significations des numéros de champs en fonction de l'utilisation ou non de l'option -k induit une confusion certaine. C'est la faute à POSIX ! TRADUCTION Christophe Blaess, 1997. FSF 14 Janvier 1997 4