numfmt
numfmt [OPTION]... [NUMBER]...
Convert numbers from/to human-readable strings
Options
--delimiter=<X>
,-d <X>
-
use X instead of whitespace for field delimiter
--field=<FIELDS>
-
replace the numbers in these input fields; see FIELDS below
--format=<FORMAT>
-
use printf style floating-point FORMAT; see FORMAT below for details
--from=<UNIT>
-
auto-scale input numbers to UNITs; see UNIT below
--from-unit=<N>
-
specify the input unit size
--to=<UNIT>
-
auto-scale output numbers to UNITs; see UNIT below
--to-unit=<N>
-
the output unit size
--padding=<N>
-
pad the output to N characters; positive N will right-align; negative N will left-align; padding is ignored if the output is wider than N; the default is to automatically pad if a whitespace is found
--header=<N>
-
print (without converting) the first N header lines; N defaults to 1 if not specified
--round=<METHOD>
-
use METHOD for rounding when scaling
--suffix=<SUFFIX>
-
print SUFFIX after each formatted number, and accept inputs optionally ending with SUFFIX
--invalid=<INVALID>
-
set the failure mode for invalid input
UNIT
options:
-
none
: no auto-scaling is done; suffixes will trigger an error -
auto
: accept optional single/two letter suffix:1K = 1000, 1Ki = 1024, 1M = 1000000, 1Mi = 1048576,
-
si
: accept optional single letter suffix:1K = 1000, 1M = 1000000, ...
-
iec
: accept optional single letter suffix:1K = 1024, 1M = 1048576, ...
-
iec-i
: accept optional two-letter suffix:1Ki = 1024, 1Mi = 1048576, ...
-
FIELDS
supportscut(1)
style field ranges:N N'th field, counted from 1 N- from N'th field, to end of line N-M from N'th to M'th field (inclusive) -M from first to M'th field (inclusive)
- all fields
Multiple fields/ranges can be separated with commas
FORMAT
must be suitable for printing one floating-point argument %f
.
Optional quote (%'f
) will enable --grouping (if supported by current locale).
Optional width value (%10f
) will pad output. Optional zero (%010f
) width
will zero pad the number. Optional negative values (%-10f
) will left align.
Optional precision (%.1f
) will override the input determined precision.
Examples
Convert 1.5K (SI Units) to 1500:
numfmt --from=si 1.5K
Convert 5th field (1-indexed) to IEC Units without converting header:
ls -l | numfmt --header=1 --field=5 --to=iec
Convert to IEC units, pad with 5 characters, left aligned:
du -s * | numfmt --to=iec --format="%-5f"
The examples are provided by the tldr-pages project under the CC BY 4.0 License.
Please note that, as uutils is a work in progress, some examples might fail.