Minulla on tiedosto1:
"$lvl=57" "$lvl=20" "$lvl=48" "$lvl=17" "$lvl=58"
Tiedosto2 I haluaa:
"$lvl=17" "$lvl=20" "$lvl=48" "$lvl=57" "$lvl=58"
Lajittele periaatteessa numeerisesti tiedosto1.
Kommentit
Vastaa
Pidän -V –version-sort: se käyttäytyy erittäin hyvin monissa tilanteissa sekoittamalla merkkijonoja ja numeroita
sort -V
Käytän tätä vaihtoehtoa usein …
Jossakin suunnassa , ls -v versiolajittelulle ls.
Vastaa
Sinun on kerrottava sort -n lajitellaksesi osan = jälkeen:
sort -t = -k 2n
Kommentit
- Etsin äskettäin tätä ^^. Mutta vielä yksi kysymys. Mitä
-k2ntekee? Liittyykö tämä numeeriseen lajitteluun? kiitos. - @KasiyA
-kmäärittelee lajitteluavaimen. Katso lisätietoja man-sivulta.-k2nmäärittelee lajitteluavaimen, joka alkaa toisesta kentästä ja päättyy rivin loppuun, ja tekee siitä numeerisen lajitteluavaimen.
Vastaa
Huomasin, että suoritat vain sort -h, se toimii. He kutsuvat sitä --human-numberic-sort.
sort -h file1 > file2
Vastaa
käytä lajittelua:
sort -n file1 > file2
-n, –numeric-sort
vertaa merkkijonon numeerisen arvon mukaan
sort -g file1 > file 2
-g, –general-numeric-sort
Kommentit
- Ei, kaikki ne riveillä on sama sijoitus kuin
sort -n, koska ne eivät ' aloita numerolla. Syy siihen, miksi he lajittelevat ne, on viimeisen keinon koko rivin lajittelu (leksikaalisesti, ei numeerisesti), joka on tehty saman rankingilla oleville linjoille. Se lajittelisi"$lvl=17"ennen"$lvl=2". - @St é phaneChazelas kiitos huomautuksesta.
- Muokkaamalla
-nja-gon tässä tarpeeton, koska syöte ei ole numeerinen . Joten tämä vastaus on harhaanjohtava, joten alhainen ääni (huomioi myös, että-gja pitkät vaihtoehdot ovat GNU-spesifisiä). - mutta -g on hyvä yleinen-numeerinen- lajittelu
- Se, että ' on edelleen numeeristen arvojen lajittelussa, ero
-n: n kanssa on se, että se ' eivät rajoitu desimaalilukuihin. Se lajittelisi silti"$lvl=17"ennen"$lvl=2"osana viimeisen keinon lajittelua.
Vastaus
sort -n on mitä haluat käyttää. Se lajittelee, kun lajittelemme numeroita. sort -k 2 -n file1
Kommentit
- Mutta OP haluaa lajitella nousevassa järjestyksessä, mikä on oletusarvo. Miksi ehdotat käänteistä järjestystä?
- yllä oleva on oikein, kun kentät erotetaan välilehdillä tai välilyönneillä eivätkä ne toimi OP ' s tapaus.
sortFile1: lläsi ilman vaihtoehtoja, saan File2-tiedostosi. Mitä teet eri tavalla? Mitä jätät pois tästä kysymyksestä?