Respostas:
Você precisa informar sort -npara classificar a parte após o =:
sort -t = -k 2n
-k2n? Isso está relacionado à classificação numérica? obrigado.
-kdefine uma chave de classificação. Veja a página de manual para detalhes. -k2ndefine 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 -npois 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".
-ne -gsão redundantes aqui, pois a entrada não é numérica. Portanto, esta resposta é enganosa, daí o voto negativo (observe também que -ge 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
sortno 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?