numfmt 数字格式化命令

 

编写不易,转载请注明(http://shihlei.iteye.com/blog/2426434)

 

一 概述

       像free 这样的命令,默认打出字节数,不好阅读,幸好提供了 free -m 可以转换成兆字节。针对不能提供这种转换的命令或者场景,numfmt可以帮我们完成转换,目前看主要用于字节转换。

 

       numfmt 用于把数字转换成可阅读的形式(位于coreutils包中,yum install coreutils 可以安装)。

 

       命令使用:numfmt [OPTION]... [NUMBER]...

 

二 基本方法

       1)数字转可读形式:--to

              (1)numfmt --to=si 1000 

              注:si : 国际单位标准 十进制标准 1K = 1000, 1M = 1000000, ...

 

# numfmt --to=si 1000 
1.0K

 

              (2)numfmt --to=iec 2048

              注:iec: 国际电工委员会标准 二进制标准 1K = 1024, 1M = 1048576, ...

 

# numfmt --to=iec 2048
2.0K

 

       2)可读形式转数字:--from

             

(1)numfmt --from=si 1K

 

# numfmt --from=si 1K
1000

             

(2)numfmt --from=iec 1K

 

# numfmt --from=iec 1K
1024

 

三 常用参数

       1)指定单位:--to-unit=N;--from-unit=N 

              

              1024K转换可预读形式:numfmt  --from-unit K  --to=iec 1024

 

# numfmt  --from-unit K  --to=iec 1024
1.0M

 

              1K是多少M:numfmt --from=iec --to-unit=K 1M

 

# numfmt --from=iec --to-unit=K 1M
1024

 

       2)格式化:--format=FORMAT

              numfmt --from=iec --to-unit=K --format='1M是多少K: %f K' 1M              

 

              其中%f是输出占位符,支持指定宽度,填充输出,如 %10f,填充10位

# numfmt --from=iec --to-unit=K --format='1M是多少K: %f K' 1M         
1M是多少K: 1024 K

 

 

三 组合用法

       --field=N : 已空格分割,替换某列的值为可读形式(这个N只能写一个和网上看到的不一样,可能版本不同,这个一下子限制了使用场景)

       --header[=N]:忽略前 N 行,主要用于忽略 命令输出的 title 列 

 

 例如:ls -l | numfmt --header --field 5 --to=iec

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值