如何使用Awk对特定列的前100行求和?

时间:2016-08-04 08:54:29

标签: awk

如何使用Awk对特定列的前100行求和?我写了

awk 'BEGIN{FS="|"} NR<=100 {x+=$5}END {print x}' temp.txt 

但这需要花费大量时间来处理;有没有其他方法可以快速给出结果?

2 个答案:

答案 0 :(得分:2)

在所需的前100条记录之后只需exit

awk -v iwant=100 '{x+=$5} NR==iwant{exit} END{print x+0}' test.in

把它拿出去旋转:

$ for i in {1..1000}; do echo 1 >> test.in ; done # thousand of records
$ awk -v iwant=100 '{x+=$1} NR==iwant{exit} END{print x+0}' test.in
100
'{x+=$5} NR==iwant{exit} END{print x+0}'

答案 1 :(得分:1)

您可以随时修剪输入并使用相同的脚本

head -100 file | awk ... your script here ...