我有一个包含信息的文件:
Name Rate Hours
Clark 8.5 42
Sarah 18.5 19
Joe 10 25
Paul 12 5
Run Code Online (Sandbox Code Playgroud)
我想计算每个员工的总工资。
但是我无法让我的循环工作,因为我不确定文件开头i <=
的标题 ( Name
, Rate
, Hours
)应该是什么。
到目前为止,我有这个:
awk 'BEGIN{
total = 0;
}
{
rate = $2;
hours = $3;
for (i = 1; i<= NR; i++)
{
total = rate * hours;
}
}
END {
print "Total = $" total;
}' testfile.dat
Run Code Online (Sandbox Code Playgroud)
在此先感谢您的帮助!
作为替代方案,这样的东西可以正常工作并且有一个很好的输出:
awk -v OFS="\t" 'NR==1{$4="total"}NR>1{$4=$2*$3}1' testfile.dat
#Output:
Name Rate Hours total
Clark 8.5 42 357
Sarah 18.5 19 351.5
Joe 10 25 250
Paul 12 5 60
Run Code Online (Sandbox Code Playgroud)