2013-11-14 92 views
0

我想要去除場的最後一位數字,然後執行上所產生的數一些操作,這是我運行這個awk命令:長整數除法

awk '{if($8 == 346586 && (int($1/10))%10 == 0) {print int($1/10), $1}}' input_data 

因爲$ 1長,我得到的結果這種:

2.02152e + 17 2021523922099868685

任何線索我怎麼能解決這個問題?

+0

它必須與'printf'格式相關。你能說明'input_data'是如何的嗎? – fedorqui

+0

看看這個[link](http://www.gnu.org/software/gawk/manual/gawk.html#Arbitrary-Precision-Integers),解釋如何在'awk.'中使用任意精度整數。 – Bentoy13

回答

0
awk -M '$8 == 346586 && int($1/10))%10 == 0 {print int($1/10), $1}' input_data 

可能會爲你工作。

+0

不是關於印刷。不管怎樣,它本不應該包含這個2.02152e + 17 2021523922099868685。它應該失敗的條件(int(%1/10))%10 == 0 – VJune

+0

它應該包括數字如205(即如果第二個數字是0)而不是215例如。 – VJune