Jai fichier1:
"$lvl=57" "$lvl=20" "$lvl=48" "$lvl=17" "$lvl=58"
Fichier2 I want:
"$lvl=17" "$lvl=20" "$lvl=48" "$lvl=57" "$lvl=58"
Trier numériquement le fichier1.
Commentaires
Réponse
Jaime -V –version-sort: il se comporte très bien dans de nombreuses situations mélangeant des chaînes et des nombres
sort -V
Jutilise cette option très souvent …
Dans un certain sens , ls -v
for version-sort ls
.
Réponse
Vous devez dire à sort -n
de trier la pièce après =
:
sort -t = -k 2n
Commentaires
- Jai récemment cherché ceci ^^. Mais encore une Q. Que signifie
-k2n
? Est-ce lié au tri numérique? merci. - @KasiyA
-k
définit une clé de tri. Consultez la page de manuel pour plus de détails.-k2n
dé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.
Réponse
Jai trouvé que, vous venez de lancer sort -h
, cela fonctionnera. Ils lappellent --human-numberic-sort
.
sort -h file1 > file2
Réponse
utiliser le tri:
sort -n file1 > file2
-n, –numeric-sort
comparer en fonction de la valeur numérique de la chaîne
sort -g file1 > file 2
-g, –general-numeric-sort
Commentaires
- Non, tout cela les lignes ont le même rang avec
sort -n
car elles ne commencent ' par un nombre. La raison pour laquelle il les trie est le tri de ligne complète de dernier recours (lexicalement, pas numériquement) effectué pour les lignes avec le même classement. Cela trierait"$lvl=17"
avant"$lvl=2"
. - @St é Merci phaneChazelas de lavoir signalé.
- Pour paraphraser,
-n
et-g
sont redondants ici car lentrée nest pas numérique . Cette réponse est donc trompeuse, doù le vote défavorable (notez également que-g
et les options longues sont spécifiques à GNU). - mais -g est un bon general-numeric- trier
- Que ' reste pour trier les valeurs numériques, la différence avec
-n
est que cest ' ne se limite pas aux entiers décimaux. Cela trierait toujours"$lvl=17"
avant"$lvl=2"
dans le cadre du tri de dernier recours.
Answer
sort -n
est ce que vous voulez utiliser. Il trie lorsque nous trions les nombres. sort -k 2 -n file1
Commentaires
- Mais lOP veut trier par ordre croissant, qui est la valeur par défaut. Pourquoi suggérez-vous lordre inverse?
- ce qui précède est correct lorsque les champs sont séparés par des tabulations ou espaces et ne fonctionnera pas dans OP '.
sort
sur votre File1, sans options, jobtiens votre File2. Que faites-vous différemment? Que laissez-vous en dehors de cette question?