GNU/Linux >> Tutoriels Linux >  >> Linux

Trier plusieurs clés avec le tri Unix

L'option -k est ce que vous voulez.

-k 1.4,1.5n -k 1.14,1.15n

Utiliserait les positions de caractère 4-5 dans le premier champ (c'est tout un champ pour une largeur fixe) et trierait numériquement comme première clé.

La deuxième clé serait également les caractères 14-15 dans le premier champ.

(modifier)

Exemple (tout ce que j'ai, c'est DOS/cygwin à portée de main) :

dir | \cygwin\bin\sort.exe -k 1.4,1.5n -k 1.40,1.60r

pour les données :

12/10/2008  01:10 PM         1,564,990 outfile.txt

Trie la liste des répertoires par numéro de mois (pos 4-5) numériquement, puis par nom de fichier (pos 40-60) en sens inverse. Puisqu'il n'y a pas d'onglets, c'est tout le champ 1 à trier.


Attention cependant :

Si vous voulez trier le fichier principalement par le champ 3, et secondairement par le champ 2, vous voulez ceci :

sort -k 3,3 -k 2,2 < inputfile

Pas ceci : sort -k 3 -k 2 < inputfile qui trie le fichier par la chaîne du début du champ 3 à la fin de la ligne (ce qui est potentiellement unique).

-k, --key=POS1[,POS2]     start a key at POS1 (origin 1), end it at POS2
                          (default end of line)

Linux
  1. Que fait Gnome avec les touches multimédias ?

  2. Trier les fichiers dans un dossier spécifique avec Ranger ?

  3. Trier un fichier délimité par des tabulations

  4. Tri sur le dernier champ d'une ligne

  5. Couleurs avec unix command watch ?

Soyez trié avec sort en ligne de commande

Gérez graphiquement les clés SSH avec Seahorse

Commande de tri Linux avec exemples

Commande de tri sous Linux avec des exemples

Trier des nombres avec plusieurs décimales en bash

Systemd avec plusieurs execStart