Numfmt コマンドは、数値を人間が読める形式に変換します。さまざまな表現で数値を読み取り、指定されたオプションに従って人間が読める形式に再フォーマットします。番号が指定されていない場合は、標準入力から番号を読み取ります。これはGNUcoreutilsパッケージの一部なので、わざわざインストールしないでください。この簡単なチュートリアルでは、いくつかの実用的な例を使用してNumfmtコマンドの使用法を見てみましょう。
例を含むNumfmtコマンドチュートリアル
複素数を想像してください。たとえば、「1003040500」 。もちろん、数学の忍者は、この数字の人間が読める形式を数秒で簡単に見つけることができます。しかし、それは私にとって少し難しいです。ここで、Numfmtコマンドが役立ちます。次のコマンドを実行して、与えられたものを人間が読める形式に変換します。
$ numfmt --to=si 1003040500 1.1G
前の数よりも非常に長くて複雑な数に行きましょう。 「10090008000700060005」はどうですか?少し難しいですよね?はい。ただし、Numfmtコマンドは、この番号の人間が読める形式を即座に表示します。
$ numfmt --to=si 10090008000700060005 11E
ここでは、 si 国際単位系を指します ( systeme internationaleの略称SI 、名前のフランス語版)。
したがって、 siを使用する場合 、numfmtコマンドは、国際単位系(SI)に従って数値を自動スケーリングします。 標準。
Numfmtは、次の単位オプションも使用します。
- iec およびiec-i -国際電気標準会議(IEC)に準拠した数値の自動スケーリング 標準。
- 自動 -この方法では、「 K 」の数字 ’、‘ M ’、‘ G ’、‘ T ’、‘ P ’、‘ E ’、‘ Z ’、‘ Y ’サフィックスは SIとして解釈されます 値、および「 Ki 」の数値 」、「 Mi ’、‘ Gi ’、‘ Ti ’、‘ Pi ’、‘ Ei ’、‘ Zi ’、‘ Yi ’サフィックスは IECとして解釈されます 値。
- なし -自動スケーリングはありません。
上記のオプションの例をさらにいくつか示します。
$ numfmt --to=iec 10090008000700060005 8.8E
$ numfmt --to=iec-i 10090008000700060005 8.8Ei
数値を人間が読める形式に変換する方法を見てきました。逆にしましょう。つまり、人間が読める形式から数値を変換します。これを行うには、以下のように「--to」を「--from」オプションに置き換えるだけです。
$ numfmt --from=si 1G 1000000000
$ numfmt --from=si 1M 1000000
$ numfmt --from=si 1P 1000000000000000
iecでもこれを行うことができます およびiec-i 標準。
$ numfmt --from=iec 1G 1073741824
$ numfmt --from=iec-i 1Gi 1073741824
$ numfmt --from=auto 1G 1000000000
$ numfmt --from=auto 1Gi 1073741824
すでに述べたように、「自動」を使用する場合、「 K 」が付いた数字 ’、‘ M ’、‘ G ’、‘ T ’、‘ P ’、‘ E ’、‘ Z ’、‘ Y ’サフィックスは SIとして解釈されます 値、および「 Ki 」の数値 」、「 Mi ’、‘ Gi ’、‘ Ti ’、‘ Pi ’、‘ Ei ’、‘ Zi ’、‘ Yi ’サフィックスは IECとして解釈されます 値。
Numfmtコマンドは、他のコマンドと組み合わせて使用することもできます。次の例をご覧ください。
$ 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
lsに注意してください およびdf コマンドには、出力を人間が読める形式で表示するための「-人間が読める」オプションがすでにあります。上記の例は、デモンストレーションのみを目的として提供されています。
「--format」または「--padding」オプションを使用して出力を微調整することもできます。
5文字にパディングし、「-format」オプションを使用して右揃えにします:
$ du -s * | numfmt --to=si --format="%5f"
5文字にパディングし、「-format」オプションを使用して左揃えにします:
$ du -s * | numfmt --to=si --format="%-5f"
5文字にパディングし、「-padding」オプションを使用して右揃えにします:
$ du -s * | numfmt --to=si --padding=5
5文字にパディングし、「-padding」オプションを使用して左揃えにします:
$ du -s * | numfmt --to=si --padding=-5
その他のオプションと使用法については、manページを参照してください。
$ man numfmt