Linux

如何使用 bash / awk 將 MB 轉換為 BYTE

  • September 15, 2018

我們需要從 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

awk10 * 1024*1024

從標準輸入(單列輸入)讀取兆字節並列印相應的字節數:

{ print $1 * 1024*1024 }

要獲得您顯示的特定輸出:

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

或者,使用numfmtGNU coreutils:

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

引用自:https://unix.stackexchange.com/questions/463624