如何使用Awk对特定列的前100行求和?我写了
awk 'BEGIN{FS="|"} NR<=100 {x+=$5}END {print x}' temp.txt
但这需要花费大量时间来处理;有没有其他方法可以快速给出结果?
答案 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 ...