我有一个具有以下模式的文件,可以重复多次:
<Content>Un relax en el ritmo trepidante de New York showReview(14443615, 'full');
<Date>Mar 22, 2008
<Overall rating>3
<No. Reader>-1
<No. Helpful>-1
<Overall>5
所以我试图计算<Overall>
的出现次数而不计算 <Overall rating>
。然后我想总结每个<Overall>
标记后面的数字。这是我的代码。
awk -F'>' '$1=="<Overall" BEGIN{}
{
count++
sum+=$2
}
END{printf "%.2f\n", sum/count}' *filename*
答案 0 :(得分:1)
另一种方法
$ awk -F'<Overall>' 'NF==2 {sum+=$2; c++}
END {print (c?sum/c:0)}' file
答案 1 :(得分:0)
如果我理解正确,您想要对包含<Overall>
的所有行的值求和:
awk 'BEGIN{FS=">";sum=0} $0~/<Overall>/ {sum+=$2} END{print sum}' file
一个示例是包含以下行的文件将总和为175
:
...
<Overall>25
<Overall>75
...
<Overall>50
...
<Overall>25
...