GNU/Linux >> Linux Esercitazione >  >> Linux

Ordinamento in bash

Usa:

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

Il sort -r -k1 -n ordina in ordine inverso, utilizzando il primo campo come valore numerico. Il awk semplicemente inverte l'ordine delle colonne. Puoi testare i comandi della pipeline aggiunti in questo modo (con una formattazione migliore):

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

Il mio:

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

Questo modificherà l'ordine delle colonne (awk) e quindi ordinerà semplicemente l'output.

Spero che questo ti sia d'aiuto


Linux
  1. Script Bash(I)

  2. Ordinamento di più chiavi con Unix sort

  3. Ordinamento di un file delimitato da tabulazioni

  4. Ordinamento sull'ultimo campo di una riga

  5. Ordinamento di numeri con più decimali in bash

Bash if..else Statement

Matrici Bash

Bash Shebang

Comando Bash printf

Matrice associativa in Bash

Usando Bash Sort per ordinare i file come un boss