Separar números con separador de miles utilizando el editor de flujo (sed)


1

Quiero insertar períodos como separadores de miles en números usando sed. ¿Cómo puedo hacer eso?

Muestra de entrada / salida: 29371923471239debe convertirse 29.371.923.471.239.

Respuestas:


2

Prueba esto

echo "29371923471239" | sed -r ':A;s|([0-9]+)([0-9]{3})|\1,\2|g;t A'
29,371,923,471,239

Esto funciona dividiendo el número en dos partes, los últimos 3 dígitos y todo lo demás. Luego agrega un ,al final de todo lo demás y vuelve a ramificarse al inicio. Puedes ver esto trabajando con

echo "29371923471239" | sed -r ':A;s|([0-9]+)([0-9]{3})|\1,\2|g'
29371923471,239

2

UTILICE GHC-ONELINERS PARA UN GRAN BIEN

$> echo -n 29371923471239 | ghc -e "import Data.List.Split" -e "putStrLn . reverse . intercalate \".\" . splitEvery 3 . reverse =<< getContents"
29.371.923.471.239

!


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.