[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
nunfmt
の使用例1 個の数値を人間に読みやすい形に変換する (あるいは、その逆を行う)。
$ numfmt --to=si 500000 500K $ numfmt --to=iec 500000 489K $ numfmt --to=iec-i 500000 489Ki $ numfmt --from=si 1M 1000000 $ numfmt --from=iec 1M 1048576 # '--from=auto' を使用する。M=Mega, Mi=Mebi $ numfmt --from=auto 1M 1000000 $ numfmt --from=auto 1Mi 1048576 |
‘SI’ 表記を ‘IEC’ 表記に換算する (たとえば、ハードディスクの容量が、 メーカー表示では ‘1TB’ となっているが、実際に容量をチェックすると、 それより少ない場合)。
$ numfmt --from=si --to=iec 1T 932G |
ファイルやパイプから読み込んだ入力行にある、ある一つのフィールドを変換する
(ここに示す数例は、あくまでも説明のために作ったものである。実際には、ls
と df
のどちらにも、人間に読みやすい形式でサイズを表示するための
‘--human-readable’ オプションが存在している)。
# 3 番目のフィールド (ファイルサイズ) を SI 表記で表示する $ ls -log | numfmt --field 3 --header --to=si | head -n4 -rw-r--r-- 1 94K Aug 23 2011 ABOUT-NLS -rw-r--r-- 1 3.7K Jan 7 16:15 AUTHORS -rw-r--r-- 1 36K Jun 1 2011 COPYING -rw-r--r-- 1 0 Jan 7 15:15 ChangeLog (訳注: 実際には、この一番下の行は表示されず、一番上に「total … といった行が現れるはずである。) # 二番目のフィールド (サイズ) を IEC 表記で表示する $ df --block-size=1 | numfmt --field 2 --header --to=iec | head -n4 File system 1B-blocks Used Available Use% Mounted on rootfs 132G 104741408 26554036 80% / tmpfs 794M 7580 804960 1% /run/shm /dev/sdb1 694G 651424756 46074696 94% /home |
出力は ‘--padding’ や ‘--format’ オプションを使って加工することができる。
# フィールド幅が 10 字になるまで空白で埋める。右詰め表示。 $ du -s * | numfmt --to=si --padding=10 2.5K config.log 108 config.status 1.7K configure 20 configure.ac # フィールド幅が 10 字になるまで空白で埋める。左詰め表示。 $ du -s * | numfmt --to=si --padding=-10 2.5K config.log 108 config.status 1.7K configure 20 configure.ac # ‘--format’ オプションを使用して、フィールド幅が 10 文字になるまで # 空白で埋める。右詰め表示。 $ du -s * | numfmt --to=si --format="%10f" 2.5K config.log 108 config.status 1.7K configure 20 configure.ac # ‘--format’ オプションを使用して、フィールド幅が 10 文字になるまで # 空白で埋める。左詰め表示。 $ du -s * | numfmt --to=si --padding="%-10f" 2.5K config.log 108 config.status 1.7K configure 20 configure.ac |
桁区切りをサポートしているロケールでは、‘--grouping’ や ‘--format’ オプションを使って、数値を数桁ごとに区切ることができる。ロケールが ‘POSIX’ や ‘C’ の場合は、桁区切りを指定しても、単に無視される。
$ LC_ALL=C numfmt --from=iec --grouping 2G 2147483648 $ LC_ALL=en_US.utf8 numfmt --from=iec --grouping 2G 2,147,483,648 $ LC_ALL=ta_IN numfmt --from=iec --grouping 2G 2,14,74,83,648 $ LC_ALL=C numfmt --from=iec --format="==%'15f==" 2G == 2147483648== $ LC_ALL=en_US.utf8 numfmt --from=iec --format="==%'15f==" 2G == 2,147,483,648== $ LC_ALL=en_US.utf8 numfmt --from=iec --format="==%'-15f==" 2G ==2,147,483,648 == $ LC_ALL=ta_IN numfmt --from=iec --format="==%'15f==" 2G == 2,14,74,83,648== |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This document was generated on June 7, 2022 using texi2html 1.82.