GNU/Linux >> Linux Esercitazione >  >> Linux

Ordinamento di più chiavi con Unix sort

L'opzione -k è quello che vuoi.

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

Utilizzerebbe le posizioni dei caratteri 4-5 nel primo campo (è tutto un campo per larghezza fissa) e ordinerebbe numericamente come prima chiave.

La seconda chiave sarebbe i caratteri 14-15 anche nel primo campo.

(modifica)

Esempio (tutto quello che ho a portata di mano è DOS/cygwin):

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

per i dati:

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

Ordina numericamente l'elenco delle directory per numero di mese (pos 4-5) e quindi per nome file (pos 40-60) al contrario. Poiché non ci sono schede, è tutto il campo 1 da ordinare.


Attenzione però:

Se desideri ordinare il file principalmente in base al campo 3 e secondariamente in base al campo 2, desideri quanto segue:

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

Non questo: sort -k 3 -k 2 < inputfile che ordina il file in base alla stringa dall'inizio del campo 3 alla fine della riga (che è potenzialmente univoca).

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

Linux
  1. Ordina il comando in Linux con esempi

  2. Screencast tasti premuti in Linux con Screenkey

  3. Cosa fa Gnome con i tasti multimediali?

  4. Ordinare i file in una cartella specifica con Ranger?

  5. Ordinamento di un file delimitato da tabulazioni

Gestisci più istanze del servizio con systemctl

Ordina con l'ordinamento dalla riga di comando

Gestisci graficamente le chiavi SSH con Seahorse

Comando di ordinamento Linux con esempi

Ordina il comando in Linux con esempi

trova l'ordine di ordinamento predefinito del comando