Réponses:
Vous devez dire sort -nde trier la pièce après =:
sort -t = -k 2n
-k2n? Est-ce lié au tri numérique? Merci.
-kdéfinit une clé de tri. Voir la page de manuel pour plus de détails. -k2ndéfinit une clé de tri commençant au deuxième champ et se terminant à la fin de la ligne et en fait une clé de tri numérique.
utiliser le tri:
sort -n file1 > file2
-n, --numeric-sort
comparer selon la valeur numérique de la chaîne
sort -g file1 > file 2
-g, --general-numeric-sort
sort -ncar elles ne commencent pas par un nombre. La raison pour laquelle il les trie est le tri en ligne de dernier recours (lexicalement et non numériquement) effectué pour les lignes avec le même classement. Cela trierait "$lvl=17"avant "$lvl=2".
-net -gsont redondants ici car l'entrée n'est pas numérique. Cette réponse est donc trompeuse, d'où le downvote (notez également que -gles options longues sont spécifiques à GNU).
-nest que ce n'est pas limité aux entiers décimaux. Cela serait toujours trié "$lvl=17"auparavant "$lvl=2"dans le cadre du tri de dernier recours.
J'ai trouvé que, vous venez de courir sort -h, cela fonctionnera. Ils l'appellent --human-numberic-sort.
sort -h file1 > file2
sort -nc'est ce que vous voulez utiliser. Il trie comme nous trions les nombres.sort -k 2 -n file1
sortsur votre File1, sans aucune option, j'obtiens votre File2. Que faites-vous différemment? Que laissez-vous en dehors de cette question?