El Numfmt El comando convierte los números a/desde un formato legible por humanos. Lee los números en varias representaciones y los reformatea en un formato legible por humanos de acuerdo con las opciones especificadas. Si no se dan números, lee los números de la entrada estándar. Es parte del paquete GNU coreutils, así que no se moleste en instalarlo. En este breve tutorial, veamos el uso del comando Numfmt con algunos ejemplos prácticos.
Tutorial de comandos Numfmt con ejemplos
Imagina un número complejo, por ejemplo '1003040500' . Por supuesto, los ninjas matemáticos pueden encontrar fácilmente la representación legible por humanos de este número en segundos. Pero es un poco difícil para mí. Aquí es donde los comandos Numfmt vienen en ayuda. Ejecute el siguiente comando para convertir lo dado en un formato legible por humanos.
$ numfmt --to=si 1003040500 1.1G
Busquemos un número realmente largo y complejo que el número anterior. ¿Qué tal "10090008000700060005"? Un poco duro, ¿verdad? Sí. Pero el comando Numfmt mostrará el formato legible por humanos de este número al instante.
$ numfmt --to=si 10090008000700060005 11E
Aquí, si refiere el Sistema Internacional de Unidades (SI abreviado de systeme internationale , la versión francesa del nombre).
Entonces, si usa si , el comando numfmt escalará automáticamente los números de acuerdo con el Sistema Internacional de Unidades (SI) estándar.
El Numfmt también usa las siguientes opciones de unidad.
- IEC y iec-i - Números de escala automática según la Comisión Electrotécnica Internacional (IEC) estándar.
- automático - Con este método, números con ‘ K ',' M ',' G ',' T ',' P ',' E ',' Z ',' Y Los sufijos ’ se interpretan como SI valores y números con ‘ Ki ', ' Mi ’,‘ Gi ’,‘ Ti ’,‘ Pi ’,‘ Ei ',' Zi ’,‘ Yi Los sufijos se interpretan como IEC valores.
- ninguno - sin ajuste de escala automático.
Aquí hay algunos ejemplos más para las opciones anteriores.
$ numfmt --to=iec 10090008000700060005 8.8E
$ numfmt --to=iec-i 10090008000700060005 8.8Ei
Hemos visto cómo convertir los números a un formato legible por humanos. Ahora hagamos lo contrario. Es decir, vamos a convertir los números del formato legible por humanos. Para hacerlo, simplemente reemplace "--to" con la opción "--from" como se muestra a continuación.
$ numfmt --from=si 1G 1000000000
$ numfmt --from=si 1M 1000000
$ numfmt --from=si 1P 1000000000000000
También podemos hacer esto con iec y iec-i normas.
$ numfmt --from=iec 1G 1073741824
$ numfmt --from=iec-i 1Gi 1073741824
$ numfmt --from=auto 1G 1000000000
$ numfmt --from=auto 1Gi 1073741824
Como ya mencioné, al usar "auto", los números con ' K ',' M ',' G ',' T ',' P ',' E ',' Z ',' Y Los sufijos ’ se interpretan como SI valores y números con ‘ Ki ', ' Mi ’,‘ Gi ’,‘ Ti ’,‘ Pi ’,‘ Ei ',' Zi ’,‘ Yi Los sufijos se interpretan como IEC valores.
El comando Numfmt también se puede usar junto con otros comandos. Echa un vistazo a los siguientes ejemplos.
$ echo 1G | numfmt --from=si 1000000000
$ echo 1G | numfmt --from=iec 1073741824
$ df -B1 | numfmt --header --field 2-4 --to=si
$ ls -l | numfmt --header --field 5 --to=si
Tenga en cuenta que ls y df Los comandos ya tienen la opción "--human-readable" para mostrar los resultados en forma legible por humanos. Los ejemplos anteriores se dan solo con fines demostrativos.
También puede modificar la salida utilizando las opciones "--format" o "--padding".
Rellene hasta 5 caracteres, alineados a la derecha usando la opción '--format':
$ du -s * | numfmt --to=si --format="%5f"
Rellene hasta 5 caracteres, alineados a la izquierda usando la opción '--format':
$ du -s * | numfmt --to=si --format="%-5f"
Rellene hasta 5 caracteres, alineados a la derecha usando la opción '--padding':
$ du -s * | numfmt --to=si --padding=5
Rellene hasta 5 caracteres, alineado a la izquierda usando la opción '--padding':
$ du -s * | numfmt --to=si --padding=-5
Para obtener más opciones y uso, consulte las páginas man.
$ man numfmt