GNU/Linux >> Tutoriels Linux >  >> Linux

Le tri Linux ne fonctionne pas avec les nombres flottants négatifs

Tous ces problèmes ont fait mes paramètres locaux. Mon ubuntu est en tchèque :

$ echo $LANG
cs_CZ.UTF-8

Dans ce contexte local, ce n'est pas un point décimal, mais plutôt une virgule décimale qui sépare l'entier du reste (comme on le pensait dans les cours de mathématiques, dans notre langue, nous écrivons vraiment une virgule au lieu d'un point).

Par conséquent :

echo '0,03 >> 0,4 >
> -0,3 >
> 0' | sort -n
> 0
> -0,3 >
> 0,4 >
0,03 >

Si vous écrivez un script bash, configurez la routine de tri pour qu'elle utilise les paramètres "normaux".

export LC_ALL=C

Le problème peut être dans votre commande de tri. Si j'exécute la même chose, mon résultat est celui attendu :

$ echo '0.00159265291648695254
> -0.00318530179313823899
> 0
> 0.00999983333416666468
> 0.00362937767285478371
> 0.00477794259012844049
> -0.00637057126765263261
> 0.00681464007477014026
> -0.00840724736714870645
> -0.00522201549675090458' | sort -n
-0.00840724736714870645
-0.00637057126765263261
-0.00522201549675090458
-0.00318530179313823899
0
0.00159265291648695254
0.00362937767285478371
0.00477794259012844049
0.00681464007477014026
0.00999983333416666468

Vous devriez utiliser le tri GNU si vous ne l'utilisez pas

sort (GNU coreutils) 5.93
Copyright (C) 2005 Free Software Foundation, Inc.
This is free software.  You may redistribute copies of it under the terms of
the GNU General Public License <http://www.gnu.org/licenses/gpl.html>.
There is NO WARRANTY, to the extent permitted by law.

Written by Mike Haertel and Paul Eggert.

Linux
  1. Jouez à un jeu mathématique amusant avec les commandes Linux

  2. Comment trouver des fichiers volumineux Linux avec les commandes find et du

  3. Comment travailler avec le client SFTP sous Linux - 10 commandes sftp

  4. Comment travailler avec des utilisateurs et des groupes sous Linux

  5. L'installation de Docker sur Linux Mint 19.2 ne fonctionne pas

Commande de tri sous Linux avec des exemples

Comment travailler avec Nano Editor sous Linux

Comment travailler avec le processus de premier plan et d'arrière-plan sous Linux

Comment travailler avec des liens durs et des liens souples sous Linux

CORRECTIF :Google Chrome ne fonctionne pas sur Kali Linux

Quels numéros de signal fonctionnent avec la commande kill ?