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