Ho file1:
"$lvl=57" "$lvl=20" "$lvl=48" "$lvl=17" "$lvl=58"
File2 I want:
"$lvl=17" "$lvl=20" "$lvl=48" "$lvl=57" "$lvl=58"
Fondamentalmente ordina numericamente file1.
Commenti
Risposta
Mi piace -V –version-sort: si comporta molto bene per molte situazioni mescolando stringhe e numeri
sort -V
Uso questa opzione molto spesso …
In qualche direzione , ls -v
per version-sort ls
.
Risposta
Devi dire a sort -n
di ordinare la parte dopo =
:
sort -t = -k 2n
Commenti
- Recentemente stavo cercando questo ^^. Ma ancora una volta D. Cosa fanno
-k2n
? È correlato allordinamento numerico? grazie. - @KasiyA
-k
definisce una chiave di ordinamento. Vedere la pagina man per i dettagli.-k2n
definisce una chiave di ordinamento che inizia nel secondo campo e termina alla fine della riga e la rende una chiave di ordinamento numerica.
risposta
Ho scoperto che, basta eseguire sort -h
, funzionerà. Lo chiamano --human-numberic-sort
.
sort -h file1 > file2
Rispondi
usa sort:
sort -n file1 > file2
-n, –numeric-sort
confronta in base al valore numerico della stringa
sort -g file1 > file 2
-g, –general-numeric-sort
Commenti
- No, tutti quelli le righe hanno la stessa posizione con
sort -n
poiché ' non iniziano con un numero. Il motivo per cui li ordina è lordinamento a riga intera di ultima istanza (lessicale, non numerica) fatto per le righe con la stessa classificazione. Ciò ordinerebbe"$lvl=17"
prima di"$lvl=2"
. - @St é phaneChazelas grazie per averlo sottolineato.
- Parafrasando,
-n
e-g
sono ridondanti qui poiché linput non è numerico . Quindi questa risposta è fuorviante, da qui il voto negativo (si noti anche che-g
e le opzioni lunghe sono specifiche di GNU). - ma -g è un buon generale-numerico- ordina
- Che ' serve ancora per ordinare i valori numerici, la differenza con
-n
è che ' non è limitato a numeri interi decimali. Ciò ordinerebbe comunque"$lvl=17"
prima di"$lvl=2"
come parte dellordinamento di ultima istanza.
Risposta
sort -n
è ciò che desideri utilizzare. Ordina mentre ordiniamo i numeri. sort -k 2 -n file1
Commenti
- Ma lOP vuole ordinare in ordine crescente, che è limpostazione predefinita. Perché suggerisci lordine inverso?
- quanto sopra è corretto quando i campi sono separati da tabulazioni o spazi e non funzioneranno in OP ' s case.
sort
sul tuo File1, senza opzioni, ottengo il tuo File2. Cosa stai facendo diversamente? Cosa stai omettendo di questa domanda?