Le programme sort
permet de trier les lignes d'un fichier. Les caractères ``+'' et ``-'' permettent de spécifier de quelle colonne à quelle colonne le tri doit s'effectuer (1ere colonne pour 0, 2eme colonne pour 1...) :
sort +1 -2 /etc/passwd
Si on spécifie plusieurs critères, le tri se fera d'abord sur le premier champ, puis sur le second si le tri sur le premier champ n'a pas suffit à départager certaines lignes, et ainsi de suite...Il existe diverses options (tableau 1.5) :
On peut spécifier la recherche sur un caractère situé à une position particulière, par exemple à la 2eme position du 6eme champ :
sort -t: +5.1 /etc/passwd
Pour plusieurs critères de recherche, il faut spécifier derrière chaque champ le type de tri à mettre en oeuvre pour ce critère. Par exemple :
sort -t: +0d -1 +2nr -3
triera le 1er champ par ordre dictionnaire, et le 3eme champ par ordre numérique inverse, et
sort -t: +4.3n -4.5 +4.0n -4.2
triera du 4eme au 6eme caractère du 5eme champ par ordre numérique, et du 1er au 3eme caractère du 5eme champ par ordre numérique, si le premier tri s'est avéré insuffisant.
Bien sur, on peut combiner les commandes cut
et sort
. Par exemple :
cut -d: -f3 /etc/passwd | sort -n > Nombres