如何使用 bash / awk 将 MB 转换为 BYTE

如何使用 bash / awk 将 MB 转换为 BYTE

我们需要根据 MB 值计算 BYTE 值

例子

10  --> 10485760 
100 --> 104857600

答案1

或者,使用numfmtGNU coreutils:

printf '10\n100\n' | numfmt --from-unit=Mi
10485760
104857600

答案2

乘以 1024 两次(或乘以 1048576 一次)。


bash(或任何sh-shell)中: $(( 10 * 1024*1024 ))

使用变量:

s=10
m=$(( s * 1024*1024 ))

要获取您显示的特定输出:

for s in 10 100; do
    printf '%-3d --> %d\n' "$s" "$(( s * 1024*1024 ))"
done

awk10 * 1024*1024

从标准输入(单列输入)读取兆字节并打印相应的字节数:

{ print $1 * 1024*1024 }

要获取您显示的特定输出:

printf '10\n100\n' | awk '{ printf("%-3d --> %d\n", $1, $1 * 1024*1024) }'

答案3

回声“10|100|1000”| awk -F"|" '{ gsub("10","10 --> 10485760"); gsub("100","100 --> 104857600"); gsub("1000","1000 --> 1048576000");打印 }'

相关内容