[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

26.2.3 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

ファイルやパイプから読み込んだ入力行にある、ある一つのフィールドを変換する (ここに示す数例は、あくまでも説明のために作ったものである。実際には、lsdf のどちらにも、人間に読みやすい形式でサイズを表示するための ‘--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.