GNU/Linux >> Tutoriels Linux >  >> Linux

Trier en bash

Utiliser :

cut -f <col_num> <filename>
    | sort 
    | uniq -c
    | sort -r -k1 -n
    | awk '{print $2" "$1}'

Le sort -r -k1 -n trie dans l'ordre inverse, en utilisant le premier champ comme valeur numérique. Le awk inverse simplement l'ordre des colonnes. Vous pouvez ainsi tester les commandes de pipeline ajoutées (avec une mise en forme plus agréable) :

pax> echo '105 Linux
55  MacOS
500 Windows' | sort -r -k1 -n | awk '{printf "%-10s %5d\n",$2,$1}'
Windows      500
Linux        105
MacOS         55

Le mien :

cut -f <column_number> <filename> | sort | uniq -c | awk '{ print $2" "$1}' | sort

Cela modifiera l'ordre des colonnes (awk), puis triera simplement la sortie.

J'espère que cela vous aidera


Linux
  1. Script bash (I)

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

  3. Tri sur le dernier champ d'une ligne

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

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

Instruction Bash if..else

Tableaux bash

Bash Shebang

Commande Bash printf

Tableau associatif dans Bash

Utilisation de Bash Sort pour trier les fichiers comme un patron