Respostas:
Você precisa informar sort -n
para classificar a parte após o =
:
sort -t = -k 2n
-k2n
? Isso está relacionado à classificação numérica? obrigado.
-k
define uma chave de classificação. Veja a página de manual para detalhes. -k2n
define uma chave de classificação que começa no segundo campo e termina no final da linha e a torna uma chave de classificação numérica.
use sort:
sort -n file1 > file2
-n, --numeric-sort
compara de acordo com o valor numérico da string
sort -g file1 > file 2
-g, --geral-numérica geral
sort -n
pois não começam com um número. A razão pela qual elas são classificadas é a classificação de linha completa de último recurso (lexicamente, não numericamente) feita para linhas com a mesma classificação. Isso ordenaria "$lvl=17"
antes "$lvl=2"
.
-n
e -g
são redundantes aqui, pois a entrada não é numérica. Portanto, esta resposta é enganosa, daí o voto negativo (observe também que -g
e as opções longas são específicas do GNU).
-n
é que não se limita a números decimais. Isso ainda seria tipo "$lvl=17"
antes "$lvl=2"
como parte do último recurso de classificação.
Eu descobri que, você acabou de correr sort -h
, vai funcionar. Eles chamam --human-numberic-sort
.
sort -h file1 > file2
sort -n
é o que você deseja usar. Classifica conforme ordenamos os números.sort -k 2 -n file1
sort
no seu Arquivo1, sem opções, recebo o seu Arquivo2. O que você está fazendo diferente? O que você está deixando de fora desta questão?