Pagina 1 di 1

sort numerico inverso ma alfabetico nei risultati uguali [Risolto]

Inviato: lunedì 2 marzo 2020, 0:26
da eb-ash
con bash voglio stampare i seguenti risultati

A: 10
B: 1
C: 5
D: 5
E: 5

in ordine numerico e con questo comando


cat /file | awk '{t=$1;$1=$NF;$NF=t}1'| sort -n -r


e ottengo:

10 A
5 E
5 D
5 C
1 B


Io vorrei ottenere:

10 A
5 C
5 D
5 E
1 B



in modo che i risultati uguali siano in ordine alfabetico

Re: sort numerico inverso ma alfabetico nei risultati uguali

Inviato: lunedì 2 marzo 2020, 9:28
da UbuNuovo
AWK non ha bisogno di cat, usa il file come argomento: awk '{...}' nome_file
Se vuoi eliminare i due punti, devi dichiararli come carattere separatore, in questo caso c'è anche uno spazio quindi -F": "
Con sort devi specificare almeno una chiave, perché l'ordinamento deve essere inverso sulla prima colonna ma regolare sulla seconda.
Per l'inversione di posizione mi sembra più chiaro il metodo classico $2,$1, ma puoi usare quello che ti piace di più.

Codice: Seleziona tutto

awk -F": " '{print $2,$1}' file | sort -k1nr

Re: sort numerico inverso ma alfabetico nei risultati uguali

Inviato: giovedì 5 marzo 2020, 10:15
da eb-ash
:woot: :woot: :woot:

Re: sort numerico inverso ma alfabetico nei risultati uguali

Inviato: venerdì 6 marzo 2020, 20:53
da UbuNuovo
Puoi mettere [Risolto] 8-)
Ciaux