Eu tenho o arquivo1:
"$lvl=57" "$lvl=20" "$lvl=48" "$lvl=17" "$lvl=58"
Arquivo2 I querer:
"$lvl=17" "$lvl=20" "$lvl=48" "$lvl=57" "$lvl=58"
Basicamente, classificar numericamente o arquivo1.
Comentários
Resposta
Eu gosto de -V –version-sort: ele se comporta muito bem para muitas situações, misturando strings e números
sort -V
Eu uso essa opção com frequência …
Em alguma direção , ls -v para classificação de versão ls.
Resposta
Você precisa dizer a sort -n para classificar a parte após =:
sort -t = -k 2n
Comentários
- Eu estava procurando recentemente ^^. Mas mais um Q. O que
-k2n? Isso está relacionado à classificação numérica? obrigado. - @KasiyA
-kdefine uma chave de classificação. Veja a página do manual para detalhes.-k2ndefine uma chave de classificação começando no segundo campo e terminando no final da linha e a torna uma chave de classificação numérica.
Resposta
Descobri que, basta executar sort -h e vai funcionar. Eles o chamam de --human-numberic-sort.
sort -h file1 > file2
Resposta
use classificar:
sort -n file1 > file2
-n, –numeric-sort
compare de acordo com o valor numérico da string
sort -g file1 > file 2
-g, –general-numeric-sort
Comentários
- Não, todos aqueles as linhas têm a mesma classificação com
sort -numa vez que não ' t começam com um número. A razão pela qual ele os classifica é a classificação de linha completa de último recurso (lexicamente, não numericamente) feita para linhas com a mesma classificação. Isso classificaria"$lvl=17"antes de"$lvl=2". - @St é phaneChazelas obrigado por apontar.
- Para parafrasear,
-ne-gsão redundantes aqui, pois a entrada não é numérica . Portanto, essa resposta é enganosa, por isso o voto negativo (observe também que-ge as opções longas são específicas do GNU). - mas -g é bom geral-numérico- classificar
- Que ' s ainda para classificar valores numéricos, a diferença com
-né que ' s não limitado a inteiros decimais. Isso ainda classificaria"$lvl=17"antes de"$lvl=2"como parte da classificação de último recurso.
Resposta
sort -n é o que você deseja usar. Classifica como classificamos os números. sort -k 2 -n file1
Comentários
- Mas o OP deseja classificar em ordem crescente, que é o padrão. Por que você está sugerindo a ordem inversa?
- o que está acima está correto quando os campos são separados por tabs ou espaços e não funcionam em OP ' caso.
sortsimples em seu Arquivo1, sem opções, obtenho seu Arquivo2. O que você está fazendo de diferente? O que você está deixando de fora desta pergunta?