使用awk执行算术运算

时间:2015-03-03 10:16:53

标签: bash awk

我想在满足条件时执行两个算术运算中的任何一个:

我有文件包含:

 2,8,123,VT
 60,32,456,DU

当它是VT时,

 awk -F, '{ans = sprintf ("%.0f",($1 + $2) / 10); print ans}'

当它的DU,

 awk -F, '{quo = $3 / 60); print qou}'

并且应该将答案添加到文件中。例如,在计算上述计算之后:

 2,8,123,VT,1
 60,32,456,DU,2

我可以使用awk吗?怎么样?

1 个答案:

答案 0 :(得分:2)

考虑一下这个awk:

awk -F, -v OFS=, '$(NF-1)=="VT"{p = sprintf("%.0f",($1 + $2) / 10)}
                  $(NF-1)=="DU"{p = $3 / 60} {print $0, p}' file
2,8,123,VT,1,1
60,32,456,DU,2,7.6