将字节数转换成用户可读的格式_2

本文最后更新于2016年5月25日,已超过 1 年没有更新,如果文章内容失效,还请反馈给我,谢谢!

=Start=

接上篇「将字节数转换成用户可读的格式」,上篇文章主要是使用Linux下已有的工具(numfmt,需要GNU coreutils >= 8.21)进行转换,但是我记录这篇文章的最初目的是自己编码实现相关功能(比如写成一个alias/function放在.bashrc中方便日常使用),这篇文章的内容就是介绍通过各种编程语言来实现该功能。

参考解答:
1.awk/gawk

2.Perl

3.Python

4.PHP

参考链接:

=END=

声明: 除非注明,ixyzero.com文章均为原创,转载请以链接形式标明本文地址,谢谢!
https://ixyzero.com/blog/archives/2698.html

《将字节数转换成用户可读的格式_2》上有1条评论

  1. Linux之awk实现不同单位行的累加计算
    https://www.dwhd.org/20150813_153641.html

    # 这个功能挺实用的,很赞!
    $ cat input.txt
    75955M
    13232K
    17492K
    75953M
    75963M
    2G
    10G
    5T
    $ awk '{a+=/T/?$1*1024:(/M/?$1/1024:(/K/?$1/(1024^2):$1))}END{print a"G"}' input.txt
    5354.56G
    $ awk '{a+=/G/?$1/1024:(/M/?$1/(1024^2):(/K/?$1/(1024^3):$1))}END{print a"T"}' input.txt
    5.22906T
    $ awk '{a+=/T/?$1*(1024^2):(/G/?$1*1024:(/K/?$1/1024:$1))}END{print a"M"}' input.txt
    5.48307e+06M
    $ awk '{a+=/T/?$1*(1024^2):(/G/?$1*1024:(/K/?$1/1024:$1))}END{printf"%.fM\n",a}' input.txt
    5483069M
    $ awk '{a+=/T/?$1*(1024^3):(/G/?$1*(1024^2):(/M/?$1*1024:$1))}END{printf"%.fK\n",a}' input.txt
    5614662660K

    $ du -sh /path/to/* | awk '{a+=/T/?$1*1024:(/M/?$1/1024:(/K/?$1/(1024^2):$1))}END{print a"G"}'

发表评论

电子邮件地址不会被公开。 必填项已用*标注