numfmt(1) — coreutils — Debian testing — Debian Manpages
5.1G
みたいな human-readable な単位付きの数と単位なしの数値を変換する。coreutils
に含まれているので macOS でも brew install coreutils
でインストールできる。
❯ echo 5.1G | numfmt --from=iec 5476083303
ついでにもう一つ TIL: Bash で「直前のコマンドの標準出力」を参照する方法はないが、$(!!)
で「直前のコマンドを再実行した結果」を得ることができる(!!
で直前のコマンドを実行する)。ので、以下のように書ける。
❯ echo $(!!) | numfmt --to=iec echo $(echo 5.1G | numfmt --from=iec) | numfmt --to=iec 5.2G
5.1G が 5.2G になっちゃうのは浮動小数点数の何かが関係してそう。