Risposte:
Devi dire sort -ndi ordinare sulla parte dopo il =:
sort -t = -k 2n
-k2n? È correlato all'ordinamento numerico? grazie.
-kdefinisce una chiave di ordinamento. Vedi la pagina man per i dettagli. -k2ndefinisce una chiave di ordinamento che inizia dal secondo campo e termina alla fine della riga e la rende una chiave di ordinamento numerica.
usa ordinamento:
sort -n file1 > file2
-n, --numeric-sort
compare in base al valore numerico della stringa
sort -g file1 > file 2
-g, --general-numeric-sort
sort -npoiché non iniziano con un numero. Il motivo per cui li ordina è l'ordinamento a riga intera dell'ultima risorsa (lessicamente, non numericamente) fatto per le linee con lo stesso ranking. Sarebbe ordinato "$lvl=17"prima "$lvl=2".
-ne -gqui sono ridondanti poiché l'input non è numerico. Quindi questa risposta è fuorviante, quindi il downvote (nota anche che -ge le opzioni lunghe sono specifiche GNU).
-nè che non è limitato agli interi decimali. Questo sarebbe ancora sorta "$lvl=17", prima "$lvl=2"come parte della ultima istanza di smistamento.
Ho scoperto che, corri sort -h, funzionerà. Lo chiamano --human-numberic-sort.
sort -h file1 > file2
sort -nè quello che vuoi usare. Si ordina mentre ordiniamo i numeri.sort -k 2 -n file1
sorteseguo un semplice Unix sul tuo File1, senza opzioni, ottengo il tuo File2. Cosa stai facendo diversamente? Cosa stai lasciando fuori da questa domanda?