GNU/Linux >> Tutoriels Linux >  >> Linux

Trier un fichier délimité par des tabulations

Vous devez mettre un caractère de tabulation réel après le -t \ et pour ce faire dans un shell, vous appuyez sur ctrl-v puis sur le caractère de tabulation. La plupart des shells que j'ai utilisés prennent en charge ce mode d'entrée de tabulation littérale.

Attention, cependant, car le copier-coller depuis un autre endroit ne conserve généralement pas les onglets.


Par défaut, le délimiteur de champ est une transition non vide à vide, donc la tabulation devrait fonctionner correctement.

Cependant, les colonnes sont indexées en base 1 et en base 0 donc vous voudrez probablement

sort -k4nr file.txt

pour trier file.txt par colonne 4 numériquement dans l'ordre inverse. (Bien que les données de la question aient même 5 champs, le dernier champ serait donc l'index 5.)


La solution $ n'a pas fonctionné pour moi. Cependant, en mettant le caractère de tabulation lui-même dans la commande, j'ai :sort -t'' -k2


Utiliser bash , cela fera l'affaire :

$ sort -t$'\t' -k3 -nr file.txt

Remarquez le signe dollar devant la chaîne entre guillemets simples. Vous pouvez lire à ce sujet dans les sections ANSI-C Quoting du bash page de manuel.


Linux
  1. Trier plusieurs clés avec le tri Unix

  2. Trier en bash

  3. Comment trier un fichier sur place

  4. Trier les tailles de fichiers lisibles par l'homme

  5. cp -L vs cp -H

Fichier de tri du shell Linux selon la deuxième colonne ?

Ajouter un en-tête à un fichier délimité par des tabulations

Ajout d'une colonne de valeurs dans un fichier délimité par des tabulations

complétion du fichier bash sans spécifier ./

Reformater l'horodatage dans un fichier délimité par des canaux

rechercher l'ordre de tri par défaut de la commande