在这个gawk中,似乎在BEGIN语句中忽略了ave = $ 4。看来ave在第一行的正文中的值为0:
cat trades.txt | gawk 'BEGIN{pos=0;ave=$4} {pos+=$3;ave=(0.1*$4)+(0.9*ave)} {print $2,pos,$4,ave}' > onPositions.txt
答案 0 :(得分:5)
在读取任何数据之前运行BEGIN
块。如果你想在阅读第一条记录后一次做一些特别的事情:
NR == 1 { ... init code here ... }