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
-kdefinește o cheie de sortare. Consultați pagina manuală pentru detalii.-k2ndefineș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 -ndeoarece ' 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-gsunt 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
-neste 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 .
sortpe File1, fără opțiuni, primesc File2. Ce faci diferit? Ce lăsați în afara acestei întrebări?