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