我在文件中有一些数据:
$ cat data.txt
facture-2817806.txt Total TTC 27.11 €
facture-2857125.txt Total TTC 37.92 €
facture-2895824.txt Total TTC 43.61 €
facture-2922275.txt Total TTC 46.73 €
facture-2935969.txt Total TTC 8.29 €
facture-2977623.txt Total TTC 41.79 €
facture-3005553.txt Total TTC 46.18 €
facture-3020047.txt Total TTC 20.34 €
facture-3061124.txt Total TTC 28.22 €
facture-3097529.txt Total TTC 59.65 €
facture-3258989.txt Total TTC 29.31 €
facture-3637195.txt Total TTC 11.17 €
facture-3681794.txt Total TTC 44.52 €
facture-3726992.txt Total TTC 28.20 €
facture-3752273.txt Total TTC 42.15 €
facture-3770970.txt Total TTC 24.01 €
Run Code Online (Sandbox Code Playgroud)
我想总结一个col的浮点值,我提取列:
$ cat data.txt | awk '{print $4}'
27.11
37.92
43.61
46.73
8.29
41.79
46.18
20.34
28.22
59.65
29.31
11.17
44.52
28.20
42.15
24.01
$
Run Code Online (Sandbox Code Playgroud)
什么是一个很好的bash方式来获得与另一个管道'|'的总和 ?
$ cat data.txt | awk '{print $4}' | xxx
Run Code Online (Sandbox Code Playgroud)
注意:这里有一个类似的问题:为什么AWK拒绝总结浮点数,但在我的文件中,浮点数并不是唯一的.我在管道后面寻找一个额外的衬管.
我想总结一个col的浮点值
惯用的方式
awk '{count+=$4}END{printf "Total : %f\n",count}' your_file
Run Code Online (Sandbox Code Playgroud)
艰难的方式
awk 'BEGIN{count=0}{count+=$4}END{printf "Total : %f\n",count}' your_file
Run Code Online (Sandbox Code Playgroud)
作为旁注,如果你想指定小数点后面的位数使用类似的东西%0.2f.
注意:您根本不需要管道.