awk,打印结果

awk,打印结果

为什么

awk '{print 3 + 3}'

不工作,但是:

echo 3|awk '{print $1 + 3}'

做?

第一条语句不能只输出6吗?打印计算结果的最简单方法是什么?

答案1

AWK 语句包含图案行动: 引用GNU awk 手册

当规则的模式与当前输入记录匹配时执行

在第一种情况下,您没有提供任何输入记录 - 因此您不会执行任何操作。在这种情况下,您可以使用特殊模式BEGIN

awk 'BEGIN {print 3 + 3}'

答案2

你同样可以做到

awk 'END {print 3 + 3}'

答案3

使用 bashecho $(( 3 + 3))或使用 bc

相关内容