Scroll to navigation

NUMFMT(1) ユーザーコマンド NUMFMT(1)

名前

numfmt - 数字から人が読みやすい文字列への変換と、その逆変換

書式

numfmt [OPTION]... [NUMBER]...

説明

NUMBER (複数可) を変換する。何も指定されなかった場合は標準入力から 読み込んだ数字を変換する。

長いオプションで必須となっている引数は短いオプションでも必須です。

無効な入力についての警告を表示する
フィールド区切りとしてホワイトスペースではなく X を使用する
入力フィールド N の数字を変換する (デフォルトは 1) 下記の FIELDS の説明を参照
printf 形式の浮動小数点フォーマットとして FORMAT を使う。 詳細は下記の FORMAT の説明を参照
入力された数字を UNIT に自動スケーリングする。 デフォルトは 'none' である。下記の UNIT の項を参照
入力単位のサイズの指定 (デフォルトは 1)
ロケールで定義された桁のグルーピングを使う (例: 1,000,000)。 (したがって C/POSIX ロケールではこのオプションは効果がない)
最初の N 行のヘッダーを (変換せずに) 出力する。 N が指定されなかった場合 N は 1 になる
無効な数字入力時の失敗モード; MODE に指定できるのは abort (デフォルト), fail, warn, ignore
パディングをして出力を N 文字幅にする。 正の N は右寄せ、負の N は左寄せ。 出力の幅が N より大きい場合パディングは無視される。 デフォルトの動作では、ホワイトスペースがあった場合に 自動的にパディングが行われる
スケーリング時の丸め方法として METHOD を使用する METHOD に指定できるのは up, down, from-zero (デフォルト), towards-zero, nearest
出力する数字に SUFFIX を追加する。 また、入力する数字で接尾辞 SUFFIX を受け付ける
出力する数字を UNIT に自動スケーリングする。 下記の UNIT の項を参照
出力単位のサイズの指定 (デフォルトは 1)
行の区切りを改行でなく NUL にする
この使い方を表示して終了する
バージョン情報を表示して終了する

UNIT オプション:

自動スケーリングを行わない。接尾辞があるとエラーが発生する。
1〜2文字の接尾辞を付けることができる
1K = 1000, 1Ki = 1024, 1M = 1000000, 1Mi = 1048576,
1文字の接尾辞を付けることができる
1K = 1000, 1M = 1000000, ...
1文字の接尾辞を付けることができる
1K = 1024, 1M = 1048576, ...
iec-i
2文字の接尾辞を付けることができる
1Ki = 1024, 1Mi = 1048576, ...

FIELDS では cut(1) と同様の形式のフィールドの範囲指定が使用できます。

N 番目のフィールド。 1 から始まる
N-
N 番目のフィールドから行末まで
N-M
N 番目から M 番目 (これも含まれる) のフィールド
行頭から M 番目のフィールド (これも含まれる)
-
すべてのフィールド

コンマで区切って複数のフィールドや範囲を指定できます。

FORMAT は浮動小数点引数 '%f' を出力できるものでなければいけません。 クォートを付けると (%'f) (現在のロケールでサポートされていれば) --grouping が有効になります。幅を示す数字を指定すると (%10f) パディングが付与されます。 0 を幅の指定に付けると (%010f) 数字は指定の幅まで 0 が付与されます。 負の幅を指定すると (%-10f) 出力が左寄せされます。 精度を指定すると (%.1f) 入力から決定される精度を上書きされます。

入力されたすべての数字が正常に変換された場合、終了ステータスは 0 です。 デフォルトでは、 numfmt は変換エラーが最初に起こった時点で終了ステータス 2 で 終了します。 --invalid='fail' が指定された場合、変換エラーそれぞれについて 警告が表示され、終了ステータスは 2 になります。 --invalid='warn' の場合、 変換エラーそれぞれについてメッセージが表示されますが、終了ステータスは 0 になります。 --invalid='ignore' の場合、変換エラーは表示されず、終了 ステータスは 0 になります。

$ numfmt --to=si 1000
-> "1.0K"
$ numfmt --to=iec 2048
-> "2.0K"
$ numfmt --to=iec-i 4096
-> "4.0Ki"
$ echo 1K | numfmt --from=si
-> "1000"
$ echo 1K | numfmt --from=iec
-> "1024"
$ df -B1 | numfmt --header --field 2-4 --to=si
$ ls -l | numfmt --header --field 5 --to=iec
$ ls -lh | numfmt --header --field 5 --from=iec --padding=10
$ ls -lh | numfmt --header --field 5 --from=iec --format %10f

GNU coreutils のオンラインヘルプ: <http://www.gnu.org/software/coreutils/> numfmt の翻訳に関するバグは <http://translationproject.org/team/ja.html> に連絡してください。 完全な文書は <http://www.gnu.org/software/coreutils/numfmt> にあります。 ローカルでは info '(coreutils) numfmt invocation' で参照できます。

作者

作者 Assaf Gordon。

著作権

Copyright © 2016 Free Software Foundation, Inc. ライセンス GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

関連項目

numfmt の完全なマニュアルは Texinfo マニュアルとして整備されている。もし、 info および numfmt のプログラムが正しくインストールされているならば、コマンド

info numfmt

を使用すると完全なマニュアルを読むことができるはずだ。

2016年2月 GNU coreutils