Odpowiedzi:
Musisz powiedzieć, sort -n
aby posortować według części po =
:
sort -t = -k 2n
-k2n
? Czy to dotyczy sortowania numerycznego? Dziękuję Ci.
-k
definiuje klucz sortowania. Szczegółowe informacje można znaleźć na stronie podręcznika man. -k2n
definiuje klucz sortowania zaczynający się od drugiego pola i kończący się na końcu linii i czyni go kluczem numerycznym.
użyj sortowania:
sort -n file1 > file2
-n, --numeric-sort
porównaj według wartości liczbowej ciągu
sort -g file1 > file 2
-g, - ogólne-sortowanie numeryczne
sort -n
ponieważ nie zaczynają się od liczby. Powodem, dla którego je sortuje, jest ostateczne sortowanie ostateczne (leksykalnie, nie numerycznie) dla linii o tym samym rankingu. To by się "$lvl=17"
kiedyś ułożyło "$lvl=2"
.
-n
i -g
są tutaj zbędne, ponieważ dane wejściowe nie są liczbowe. Ta odpowiedź jest myląca, stąd opinia negatywna (zauważ również, że -g
i długie opcje są specyficzne dla GNU).
-n
, że nie ogranicza się do liczb całkowitych dziesiętnych. Że nadal sortować "$lvl=17"
przed "$lvl=2"
jako część ostatniej instancji sortowania.
Odkryłem, że po prostu biegniesz sort -h
, to zadziała. Nazywają to --human-numberic-sort
.
sort -h file1 > file2
sort -n
to jest to, czego chcesz użyć. Sortuje się, gdy sortujemy liczby.sort -k 2 -n file1
sort
na twoim File1, bez żadnych opcji, otrzymuję twój File2. Co robisz inaczej? Co pozostawiasz poza tym pytaniem?