为什么
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