Ksh
使用 awk 回顯奇數並列印下一個偶數並防止 1.00001e+06 等結果
我在 AIX 7.1 上有一個解決方案,我可以在其中回顯一個奇數並列印下一個偶數,例如以下內容:
$ echo "3" | bc -l | awk '{printf("%.0f\n", $1)}' | awk '{$0=int($0/4+.75)*4}1' 4 $ echo "9" | bc -l | awk '{printf("%.0f\n", $1)}' | awk '{$0=int($0/4+.75)*4}1' 12
我面臨的問題是當數量超過一百萬時,它開始給我如下值:
$ echo "1000009" | bc -l | awk '{printf("%.0f\n", $1)}' | awk '{$0=int($0/4+.75)*4}1' 1.00001e+06
我應該得到的是 1000012。它給我的下一個偶數是無關緊要的。只要是偶數。我不確定這是否是我正在測試的 HP-UX B.11.31 中的限制。
有沒有辦法避免得到這樣的結果?
N=1000009 echo "${N:-3} 3+4/4*p" | dc
輸出
1000012