Linux
如何使用 bash / awk 將 MB 轉換為 BYTE
我們需要從 MB 值計算 BYTE 值
例子
10 --> 10485760 100 --> 104857600
乘以 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
在
awk
:10 * 1024*1024
從標準輸入(單列輸入)讀取兆字節並列印相應的字節數:
{ print $1 * 1024*1024 }
要獲得您顯示的特定輸出:
printf '10\n100\n' | awk '{ printf("%-3d --> %d\n", $1, $1 * 1024*1024) }'
或者,使用
numfmt
GNU coreutils:printf '10\n100\n' | numfmt --from-unit=Mi 10485760 104857600