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ä
-k2n
tekee? Liittyykö tämä numeeriseen lajitteluun? kiitos. - @KasiyA
-k
määrittelee lajitteluavaimen. Katso lisätietoja man-sivulta.-k2n
mää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
-n
ja-g
on tässä tarpeeton, koska syöte ei ole numeerinen . Joten tämä vastaus on harhaanjohtava, joten alhainen ääni (huomioi myös, että-g
ja 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.
sort
File1: lläsi ilman vaihtoehtoja, saan File2-tiedostosi. Mitä teet eri tavalla? Mitä jätät pois tästä kysymyksestä?