0
我有兩個文件。每一列都有一列,其中有一些缺失的數據,如9999,9000。平均使用shell腳本或awk後兩個文件之間的區別
ifile1.txt ifile2.txt
30 20
9999 10
10 40
40 30
10 31
29 9000
9000 9999
9999 9999
31 1250
550 29
我想計算上述兩個文件的平均值之間的差異,而不考慮缺失的值。即
average (ifile1.txt) - average (ifile2.txt)
我試過這樣,但沒有得到結果。
ave1=$(awk '!/\9999/ && !/\9000/{sum += $1; count++} END {print count ? (sum/count) : count;sum=count=0}' ifile1.txt)
ave2=$(awk '!/\9999/ && !/\9000/{sum += $1; count++} END {print count ? (sum/count) : count;sum=count=0}' ifile2.txt)
result=$(ave1-ave2)
echo $result
我的結果表達式爲負值。但上面的腳本並沒有給出負面信號。你能建議怎麼做嗎?非常感謝你。 – Kay
已更新。也許陣列順序問題 – bian
非常感謝你的答案。如果我使用閾值,你能建議我怎麼修改腳本。我在這裏問過它http://stackoverflow.com/questions/33666553/difference-between-two-files-after-average-of-selected-entries-using-shell-scrip – Kay