Am fișier1:
"$lvl=57" "$lvl=20" "$lvl=48" "$lvl=17" "$lvl=58"
Fișier2 I want:
"$lvl=17" "$lvl=20" "$lvl=48" "$lvl=57" "$lvl=58"
Sortarea numerică a fișierului1.
Comentarii
Răspuns
Îmi place -V –version-sort: se comportă foarte bine pentru multe situații amestecând șiruri și numere
sort -V
Folosesc foarte des această opțiune …
În direcția unică , ls -v
pentru versiunea-sort ls
.
Răspuns
Trebuie să-i spuneți lui sort -n
să sortați pe partea de după =
:
sort -t = -k 2n
Comentarii
- Recent căutam acest ^^. Dar încă un Î. Ce face
-k2n
? Este legat de sortarea numerică? mulțumesc. - @KasiyA
-k
definește o cheie de sortare. Consultați pagina manuală pentru detalii.-k2n
definește o cheie de sortare începând cu al doilea câmp și terminând la sfârșitul liniei și o face o cheie de sortare numerică.
Răspuns
Am constatat că, pur și simplu rulați sort -h
, acesta va funcționa. Ei îl numesc --human-numberic-sort
.
sort -h file1 > file2
Răspuns
utilizați sortare:
sort -n file1 > file2
-n, –numeric-sort
comparați în funcție de valoarea numerică șir
sort -g file1 > file 2
-g, –general-numeric-sort
Comentarii
- Nu, toate liniile au același clasament cu
sort -n
deoarece ' nu încep cu un număr. Motivul pentru care le sortează este sortarea pe linie completă de ultimă instanță (lexical, nu numeric) realizată pentru liniile cu același clasament. Asta ar sorta"$lvl=17"
înainte de"$lvl=2"
. - @St é phaneChazelas vă mulțumim că ați subliniat.
- Pentru a parafraza,
-n
și-g
sunt redundante aici, deoarece intrarea nu este numerică . Deci, acest răspuns este înșelător, de unde și votul negativ (rețineți, de asemenea, că-g
și opțiunile lungi sunt specifice GNU). - dar -g este general general-numeric- sortare
- Că ' este încă pentru sortarea valorilor numerice, diferența cu
-n
este că nu se limitează la numere întregi zecimale. Acest lucru ar fi în continuare sortat"$lvl=17"
înainte de"$lvl=2"
ca parte a sortării de ultimă instanță.
Răspuns
sort -n
este ceea ce doriți să utilizați. Se sortează după cum sortăm numerele. sort -k 2 -n file1
Comentarii
- Dar OP dorește să sorteze în ordine crescătoare, care este implicit. De ce sugerați ordinea inversă?
- cele de mai sus sunt corecte atunci când câmpurile sunt separate cu file sau spații și nu vor funcționa în OP .
sort
pe File1, fără opțiuni, primesc File2. Ce faci diferit? Ce lăsați în afara acestei întrebări?