Jag har fil1:
"$lvl=57" "$lvl=20" "$lvl=48" "$lvl=17" "$lvl=58"
File2 I vill ha:
"$lvl=17" "$lvl=20" "$lvl=48" "$lvl=57" "$lvl=58"
I grund och botten numeriskt sorterad fil1.
Kommentarer
Svar
Jag gillar -V –version-sort: det beter sig mycket bra i många situationer blandar strängar och siffror
sort -V
Jag använder det här alternativet mycket ofta …
I vissa riktningar , ls -v för version-sort ls.
Svar
Du måste säga till sort -n att sortera på delen efter =:
sort -t = -k 2n
Kommentarer
- Jag tittade nyligen här ^^. Men en fråga till. Vad gör
-k2n? Är det relaterat till numerisk sortering? tack. - @KasiyA
-kdefinierar en sorteringsnyckel. Se mansidan för mer information.-k2ndefinierar en sorteringstangent som börjar vid det andra fältet och slutar i slutet av raden och gör det till en numerisk sorteringstangent.
Svar
Jag fann att du bara kör sort -h, det fungerar. De kallar det --human-numberic-sort.
sort -h file1 > file2
Svar
använd sortering:
sort -n file1 > file2
-n, –numeric-sort
jämför enligt strängens numeriska värde
sort -g file1 > file 2
-g, –general-numeric-sort
Kommentarer
- Nej, alla dessa rader har samma ranking med
sort -neftersom de inte ' t börjar med ett tal. Anledningen till att det sorterar dem är sista utväg fullradssortering (lexiskt, inte numeriskt) gjort för rader med samma rangordning. Det skulle sortera"$lvl=17"före"$lvl=2". - @St é phaneChazelas tack för att ni påpekade.
- För att parafrasera är
-noch-göverflödiga här eftersom ingången inte är numerisk . Så det här svaret är vilseledande, därav downvote (notera också att-goch de långa alternativen är GNU-specifika). - men -g är bra allmänt numeriskt- sortera
- Att ' fortfarande är för att sortera numeriska värden, skillnaden med
-när att den ' är inte begränsat till decimala heltal. Det skulle fortfarande sortera"$lvl=17"före"$lvl=2"som en del av den sista utvägsorteringen.
Svar
sort -n är vad du vill använda. Det sorterar när vi sorterar siffror. sort -k 2 -n file1
Kommentarer
- Men OP vill sortera i stigande ordning, vilket är standard. Varför föreslår du omvänd ordning?
- ovanstående är korrekt när fält är separerade med flikar eller mellanslag och fungerar inte i OP ' s fall.
sortpå din File1, utan alternativ, får jag din File2. Vad gör du annorlunda? Vad lämnar du ut av den här frågan?