0
我有一個腳本讀取分隔文件併爲每個記錄添加文件中的第3個元素。對於大多數數據文件,除了一個以外,這個工作正常。我有一個數據文件,數據文件中有193條記錄。我期待從腳本中獲得2028219.43。相反,我得到了一個指數數字,似乎已經被取整了。起初我以爲通過使用printf我會得到這個數字,但是如果這個數字已經被舍入了,那麼它不會讓我回到我期待的。Shell腳本並在分隔文件中添加大值
這是我用來讀取分隔數據文件的代碼。
+ export clm_total=2.02822e+06
+ printf %.2f 2.02822e+06
+ export new_clm_total=2028220.00
+ echo 2028220.00
這是數據文件的樣本:在每個記錄中的數據由*:
export clm_total=$(awk -F* '{f1+=$3} END {print f1}' datafile.dat)
export new_clm_total=$(printf "%.2f" $clm_total)
這是在日誌中顯示的內容,當我運行該腳本分隔。還有更多的記錄,我沒有不認爲這是必要的,以顯示所有193個記錄:
CLM*123456789*4820.9***13:A:1**A*Y*Y
CLM*123698547*3642.05***13:A:7**A*Y*Y
CLM*147852369*579.25***13:A:1**A*Y*Y
CLM*789654123*929.8***13:A:1**A*Y*Y
我所期待的回覆是2028219.43
什麼我得到的回覆是2.02822e + 06
爲2028220.00
THanks!我用這個,它的工作原理:export clm_total = $(awk -F *'{f1 + = $ 3} END {printf(「%.2f \ n」,f1)}'datafile.dat) –
如果這是你想要的答案,請點擊旁邊的複選標記。 –