Awk

HPUX 大數轉換以避免像 2.13464e+07 這樣的數字

  • May 27, 2020

我需要將 21858717696 除以 1024 以獲得 hpux 上的千字節,但使用以下命令不起作用:

echo 21858717696 | awk '{print $1/1024}'

輸出:

2.13464e+07

在 AIX 上,我可以使用以下內容並且它可以工作:

echo 21858717696 | awk '{print $1/1024}' | bc -l | awk '{printf("%.0f\n", $1)}'

輸出:

21346404

在 HPUX 上使用 AIX 方法不起作用。如何在 HPUX 上獲得相同的結果?

您的 HP-UX 上應該有 perl:

echo 21858717696|perl -ne 'printf "%.0f\n",$_/1024'
21346404

我會這樣做dc <<< "21858717696 1024/ p"

  • 我認為dc在幾乎所有 Unix 上預設安裝。它貼在我自 1991 年以來使用的所有東西上。
  • 我是一個過程。
  • 它給出了準確和精確的結果。

如果你的外殼不做<<<那麼做

echo "21858717696 1024/ p" | dc

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