sort

Lit l’entrée, trie les données et écrit les résultats à l’écran, dans un fichier ou sur un autre périphérique.

Syntaxe

sort [/r] [/+<N>] [/m <kilobytes>] [/l <locale>] [/rec <characters>] [[<drive1>:][<path1>]<filename1>] [/t [<drive2>:][<path2>]] [/o [<drive3>:][<path3>]<filename3>]

Paramètres

Paramètre Description
/r Inverse l’ordre de tri (autrement dit, trie de Z à A et de 9 à 0).
/+<N> Spécifie le numéro de position du caractère dans lequel la commande sort commencera chaque comparaison. N peut être n’importe quel entier valide.
/m <kilobytes> Spécifie la quantité de mémoire principale à utiliser pour le tri en kilo-octets (Ko).
<Paramètres régionaux> /l Remplace l’ordre de tri des caractères définis par les paramètres régionaux par défaut du système (c’est-à-dire, la langue et le pays/région sélectionnés pendant l’installation).
/rec <characters> Spécifie le nombre maximal de caractères dans un enregistrement ou une ligne du fichier d’entrée (la valeur par défaut est de 4 096 et la valeur maximale est 65 535).
[<drive1>:][<path1>]<filename1> Spécifie le fichier à trier. Si aucun nom de fichier n’est spécifié, l’entrée standard est triée. Spécifier le fichier d’entrée est plus rapide que le fait de rediriger le même fichier en tant qu’entrée standard.
/t [<drive2>:][<path2>] Spécifie le chemin d’accès du répertoire pour contenir le stockage de travail de la commande sort si les données ne tiennent pas dans la mémoire principale. Par défaut, le répertoire temporaire du système est utilisé.
/o [<drive3>:][<path3>]<filename3> Spécifie le fichier dans lequel l’entrée triée doit être stockée. Si aucun fichier n’est spécifié, les données sont écrites dans la sortie standard. Spécifier le fichier de sortie est plus rapide que le fait de rediriger la sortie standard vers le même fichier.
/unique Retourne seulement des résultats uniques.
/? Affiche l'aide à l'invite de commandes.

Notes

  • Par défaut, les comparaisons commencent au premier caractère de chaque ligne. L’option /+ de ligne de commande commence les comparaisons au caractère spécifié par N. Par exemple, /+3 indique que chaque comparaison doit commencer au troisième caractère de chaque ligne. Les lignes de moins de N caractères sont assemblées avant les autres lignes.

  • La mémoire utilisée est toujours au minimum de 160 Ko. Si la taille de mémoire est spécifiée, la quantité exacte spécifiée est utilisée pour le tri (doit être d’au moins 160 Ko), quelle que soit la quantité de mémoire principale disponible.

  • La taille maximale de mémoire par défaut si aucune taille n’est spécifiée est de 90 % de la mémoire principale disponible, si l’entrée et la sortie sont des fichiers, ou de 45 % de la mémoire principale si ce n’est pas le cas. Le paramètre par défaut offre généralement les meilleures performances.

  • Actuellement, la seule alternative aux paramètres régionaux par défaut est les paramètres régionaux C, qui sont plus rapides que le tri en langage naturel (ils trient les caractères en fonction de leurs encodages binaires).

  • Vous pouvez utiliser le symbole de canal (|) pour diriger les données d’entrée vers la commande sort à partir d’une autre commande ou pour diriger la sortie triée vers une autre commande. Vous pouvez spécifier des fichiers d’entrée et de sortie à l’aide de symboles de redirection (< ou >). Il peut être plus rapide et plus efficace (en particulier avec les fichiers volumineux) de spécifier directement le fichier d’entrée (comme défini par filename1 dans la syntaxe de commande), puis de spécifier le fichier de sortie à l’aide du paramètre /o.

  • La commande sort ne fait pas la distinction entre les lettres majuscules et minuscules et n’a pas de limite sur la taille du fichier.

  • Le programme de tri utilise la table de classement correspondant aux paramètres de code pays/région et de page de code. Les caractères supérieurs au code ASCII 127 sont triés en fonction des informations contenues dans le fichier Country.sys ou dans un autre fichier spécifié par la commande country dans votre fichier Config.nt.

  • Si le tri ne dépasse pas la taille de mémoire maximale (définie par défaut ou spécifiée par le paramètre /m), le tri est effectué en une seule passe. Sinon, le tri est effectué en deux passes de tri et de fusion distinctes, et les quantités de mémoire utilisées pour les deux passes sont égales. Lorsque deux passes sont réalisées, les données partiellement triées sont stockées dans un fichier temporaire sur disque. Si la mémoire n’est pas suffisante pour effectuer le tri en deux passes, une erreur d’exécution est émise. Si l’option de ligne de commande /m est utilisée pour spécifier une mémoire supérieure à ce qui est réellement disponible, une dégradation des performances ou une erreur d’exécution peut se produire.

Exemples

  • Pour trier et afficher, dans l’ordre inverse, les lignes d’un fichier nommé expenses.txt, tapez :

    sort /r expenses.txt
    
  • Pour rechercher le texte Jonesdans un fichier volumineux nommé maillist.txt et trier les résultats de la recherche à l’aide du canal (|) pour diriger la sortie d’une commande find vers la commande sort, tapez :

    find Jones maillist.txt | sort
    

    La commande génère une liste triée des lignes qui contiennent le texte spécifié.

  • Pour trier les entrées au clavier et afficher les résultats par ordre alphabétique à l’écran, vous pouvez d’abord utiliser la commande sort sans paramètre, en tapant :

    sort
    

    Tapez ensuite le texte que vous souhaitez trier, puis appuyez sur ENTRÉE à la fin de chaque ligne. Une fois que vous avez terminé de taper du texte, appuyez sur Ctrl+Z, puis sur Entrée. La commande sort affiche le texte que vous avez tapé, trié par ordre alphabétique.