如何添加awk的每个输出

spu*_*der 6 awk

您将如何对 awk 的每一行的输出执行加法?

例如

cat foo | awk '{print $1}
42
42
42
Run Code Online (Sandbox Code Playgroud)

我正在寻找 42+42+42 (126) 的答案。

我正在尝试编写一个 for 循环来执行此操作,但必须有一种更简单的方法

#Not Working, and way too complex
cat foo |awk  '{ print $1 }'|for i in $1 do; foo=$(( foo+$(i) )) done| echo $foo
Run Code Online (Sandbox Code Playgroud)

我可以用管道传输,wc -l但它只打印行数,它不评估它们。

如何从 awk 评估每一行?

jas*_*yan 11

使用您的示例的基本方法:

awk '{sum+=$1} END {print sum}' file
Run Code Online (Sandbox Code Playgroud)