Recherche…


Introduction

sort est une commande Unix permettant de classer les données dans un ou plusieurs fichiers dans une séquence.

Syntaxe

  • sort [option] filename

Paramètres

Option Sens
-u Rendre chaque ligne de sortie unique

Remarques

Manuel d'utilisation complet du sort ligne

Sorte de la commande de tri

sort commande de sort est utilisée pour trier une liste de lignes.

Entrée d'un fichier

sort file.txt  

Entrée d'une commande

Vous pouvez trier toute commande de sortie. Dans l'exemple une liste de fichiers suivant un pattern.

find * -name pattern | sort

Rendre la sortie unique

Si chaque ligne de la sortie doit être unique, ajoutez l'option -u .

Pour afficher le propriétaire des fichiers dans le dossier

ls -l | awk '{print $3}' | sort -u

Tri numérique

Supposons que nous ayons ce fichier:

test>>cat file
10.Gryffindor
4.Hogwarts
2.Harry
3.Dumbledore
1.The sorting hat

Pour trier ce fichier numériquement, utilisez l'option de tri avec -n:

test>>sort -n file  

Cela devrait trier le fichier comme ci-dessous:

1.The sorting hat  
2.Harry  
3.Dumbledore  
4.Hogwarts  
10.Gryffindor

Inverser l'ordre de tri: Pour inverser l'ordre du tri, utilisez l'option -r

Pour inverser l'ordre de tri du fichier ci-dessus, utilisez:

sort -rn file

Cela devrait trier le fichier comme ci-dessous:

10.Gryffindor
4.Hogwarts
3.Dumbledore
2.Harry
1.The sorting hat

Trier par clés

Supposons que nous ayons ce fichier:

test>>cat Hogwarts 
  Harry        Malfoy        Rowena        Helga
  Gryffindor   Slytherin     Ravenclaw     Hufflepuff
  Hermione     Goyle         Lockhart      Tonks
  Ron          Snape         Olivander     Newt
  Ron          Goyle         Flitwick      Sprout

Pour trier ce fichier en utilisant une colonne comme clé, utilisez l'option k:

test>>sort -k 2 Hogwarts

Cela va trier le fichier avec la colonne 2 comme clé:

  Ron        Goyle        Flitwick        Sprout
  Hermione   Goyle        Lockhart        Tonks
  Harry      Malfoy       Rowena          Helga
  Gryffindor Slytherin    Ravenclaw       Hufflepuff
  Ron        Snape        Olivander       Newt

Maintenant, si nous devons trier le fichier avec une clé secondaire avec l'utilisation de la clé primaire:

sort -k 2,2 -k 1,1 Hogwarts 

Cela va d'abord trier le fichier avec la colonne 2 comme clé primaire, puis trier le fichier avec la colonne 1 comme clé secondaire:

  Hermione        Goyle        Lockhart        Tonks
  Ron             Goyle        Flitwick        Sprout
  Harry           Malfoy       Rowena          Helga
  Gryffindor      Slytherin    Ravenclaw       Hufflepuff
  Ron             Snape        Olivander       Newt

Si nous avons besoin de trier un fichier avec plus d'une clé, nous devons spécifier pour chaque option -k où le tri se termine. Donc -k1,1 signifie que vous devez commencer le tri dans la première colonne et terminer le tri dans la première colonne.

option -t

Dans l'exemple précédent, le fichier avait le séparateur par défaut - tab. En cas de tri d'un fichier comportant un délimiteur autre que celui par défaut, l'option -t doit être utilisée pour spécifier le séparateur. Supposons que nous ayons le fichier ci-dessous:

test>>cat file
5.|Gryffindor
4.|Hogwarts
2.|Harry
3.|Dumbledore
1.|The sorting hat

Pour trier ce fichier selon la deuxième colonne, utilisez:

test>>sort -t "|" -k 2 file

Cela va trier le fichier comme ci-dessous:

3.|Dumbledore
5.|Gryffindor
2.|Harry
4.|Hogwarts
1.|The sorting hat


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow