Apparence
Uubu.fr

Les systèmes Linux, l’open source, les réseaux, l’interopérabilité, etc.
« Il vaut mieux viser la perfection et la manquer que viser l’imperfection et l’atteindre. » (Bertrand Arthur William RUSSEL)
21 juillet 2010

coreutils GNU           Opérations de trie dans les fichiers


sort

sort

Trie, fusionne ou compare toutes les lignes des fichiers spécifiés ou l'entrée standard

   Une paire de lignes est comparé comme suit: sort compare chaque paire de champs, dans l'ordre spécifié sur la ligne de commande, en accord avec les options d'ordre associés, jusqu'à ce qu'une différence soit trouvée ou qu'il ne reste plus aucun champ. Si aucun champ clé n'est spécifié sort utilise une ligne entière comme clé par défaut. Finalement, sort compare les lignes entières comme si aucune option d'ordre autre que --reverse n'était spécifié. L'option stable désactive la dernière comparaison, tout comme l'option --unique.

OPTIONS

-c, --check, --check=diagnose-first Vérifie si le fichier donné est déjà trié. Si ce n'est pas le cas, affiche un la première ligne qui n'est pas dans l'ordre.
-C, --check=quiet, --check=silent Quitte avec succès si le fichier donné est déjà trié, avec un status de 1 le cas contraire. Identique à -c, mais n'affiche rien.
-m, --merge fusionne les fichiers en les triant ensemble. chaque fichier d'entrée doit déjà être triés individuellement.
-b, --ignore-leading-blanks Ignore les blancs pendant la recherche des clés triés dans chaque ligne.
-d, --dictionnary-order Trie de type annuaire téléphonique: ignore tous les caractères excepté les lettres, chiffres et les blanc.
-f, --ignore-case Ignore la casse lors du trie.
-g, --general-numeric-sort,--sort=general-numeric Trie numérique, converti un préfixe de chaque ligne en nombre virgule flottante double précision.
-i, --ignore-nonprinting Ignore les caractères non imprimables
-M, --month-sort, --sort=month Une chaîne initiale, consistant d'une quantité de blanc, suivi par une abréviation de mois, comparé dans l'ordre JANFEB...DEC
-n, --numeric-sort, --sort=numeric Trie numérique. Les nombres commencent chaque ligne et consistent de blanc options, un '-' optionnel et 0 ou plusieurs chiffres, qui peuvent être séparés par des séparateurs de millier, et optionnellement suivi par une partie décimale. Un nombre vide est traité comme '0'. La locale 'LC_NUMERIC' spécifie le caractère décimal et le séparateur de milliers. par défaut, un blanc est un espace ou une tabulation, mais LC_CTYPE peut changer çà.
-V, --version-sort Trie par strverscmp. Comparaison normal de chaîne excepté que les nombres décimaux sont triés par valeur numérique.
-r, --reverse Renverse le résultat de la comparaison.
-R, --random-sort, --sort=random Sort de manière aléatoire.
--compress-program=PROG Compresse les fichiers temporaires avec le programme spécifié. sans argument, il doit compresser l'entrée standard sur la sortie standard, et si -d est donné, il doit décompresser l'entrée standard sur la sortie standard.
--files0-from=FILE Désactive le traitement des fichiers nommés sur la ligne de commande, et traite ceux nommés dans FILE. chaque fichier est séparé par un ASCII NUL. si FILE vaut - , lit l'entrée standard.
-k POS1[,POS2], --key=POS1[,POS2] Spécifie le champ de trie qui consiste de la partie de la ligne entre POS1 et POS2 ou la fin de la ligne si POS2 n'est pas spécifié. Par exemple pour trier le 2eme champs, utiliser --key=2,2
--batch-size=NMERGE mélange au moins NMERGE entrées en une seule.
-o OUTPUT-FILE, --output=OUTPUT-FILE Écrit la sortie dans le fichier spécifié.
--random-source=FILE Utilise FILE comme source de données aléatoires.
-s, --stable désactive la comparaison de dernier recours.
-S SIZE, --buffer-size=SIZE Utilise un buffer de trie de la taille spécifiée. Par défaut SIZE est en unité de 1024 octets. Ajouter un '%' interprète la taille en pourcentage de la mémoire physique. Ajouter un 'K' pour Kilo-octets, M, G etc... b pour octets
-t SEPARATOR, --field-separator=SEPARATOR Spécifie le caractère de séparation des champs. Par défaut c'est un espace ou une tabulation, mais 'LC_CTYPE' peut changer çà.
-T TEMPDIR, --temporary-directory=TEMPDIR utilise TEMPDIR comme répertoire temporaire.
-u, --unique Normalement, sort seulement le premier d'une séquence de lignes qu'il trouve égal.
-z, --zero-terminated Délimite les items avec un octet zéro au lieu d'un newline

Exemples

trie numérique descendant
sort -n -r
trie alphabétique, en omettant les 2 premiers champs et le blanc au début du troisième champ.
sort -k 3b
trie numérique sur le second champ et tente de trier alphabétiquement le 3ème et le 4ème caractère du 5ème champ.
sort -t : -k 2,2n -k 5.3,5.4
trie le fichier password sur le 5ème champ et ignore les blancs. Trie les lignes avec des valeurs égales dans le 5ème champ sur le user ID dans le 3ème champ. les champs sont séparés par un ':'
sort -t : -k 5b,5 -k 3,3n /etc/passwd
sort -t : -n -k 5b,5 -k 3,3 /etc/passwd
sort -t : -b -k 5,5 -k 3,3n /etc/passwd

Codes de sortie

0 si pas d'erreur
1 si invoqué avec -c ou -C est que l'entrée n'a pas été triée
2 si une erreur s'est produite.