使用 awk 命令生成正方形

使用 awk 命令生成正方形

我有一个名为实践其中数字 1、2、3、4、5 位于不同的行中。我想使用 AWK 命令生成这些数字的平方。

为此我编写了以下命令:

awk 'BEGIN { a = $1; a = a ^ 2; print "a =", a }' prac

但输出显示a = 0

请让我知道我的错误

答案1

是的,因为您的代码位于一个BEGIN块中。特殊BEGIN块被触发一次,只需从第一个输入文件读取第一行输入(同样,特殊END块被触发一次读取输入的最后一行)。您想要执行您的代码块每个线:

awk '{ printf("a = %s\n", $1*$1) }' prac

或者更接近您的原始代码,

awk '{ a = $1*$1; print "a =", a }' prac

相关内容