paso - ¿UNIX ordena con valores exponenciales?
funcion logaritmica (3)
Entonces, solo para dar un ejemplo para aquellos que no saben cómo usarlo: en lugar de "-n", usas "-g". l = 1,0.3,6.01e-10
sort -t$'','' -n example.txt
0.3 1 6.01e-10
sort -t$'','' -g example.txt
6.01e-10 0.3 1
Tengo un archivo csv con 7 campos de datos. Quiero ordenar el séptimo campo en orden numérico inverso (los valores más pequeños primero). El séptimo campo de datos se ve así:
0.498469643137
1
6.98112003175e-10
9.11278069581e-06
He intentado usar la herramienta de ordenamiento UNIX de esta manera:
$ sort -t"," -n -k -r 7 <my_file>
El problema que estoy teniendo es que ese tipo no reconoce la forma exponencial. Por ejemplo, sort piensa que 6.98112003175e-10
es más grande que 1
. ¿Cómo puedo usar ordenar para ordenar una columna csv, pero reconozco la notación científica? Gracias de antemano por la ayuda.
Tenga en cuenta que su configuración regional puede asumir otro delimitador: por ejemplo, en la localización rusa '' ,
'' el carácter delimita las partes del número en lugar de '' .
''. En este caso, debe tener en cuenta la variable LANG.
En mi caso, LANG se configuró en ru_RU.KOI8-R
por lo que la sort -g
me dio un resultado erróneo.
ordenar con la opción ''-g'' debería hacer el truco para usted. -g opción indica ''usar valor numérico genérico'' para ordenar