numfmt 数字格式化命令

本文介绍Linux下numfmt命令的基本用法及高级应用,包括数字与可读形式的相互转换、指定单位转换、格式化输出等,并展示如何通过组合选项处理复杂场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

编写不易,转载请注明(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

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值