awk 中的负数

awk 中的负数

我有两个负数,我正在尝试使用 . 从字段中提取一系列数字awk。它对于正数非常有用......但是当我尝试做负数时我得到了错误。 FILENAME=- FNR=1303fatal attempt to access field -532(其中-532是我的号码之一)这是我的代码行:

awk -v var=$per90u -v var2=$per90l -v var3-$field -F, '{ if ( $var3 >= var && $var3 <= var2 ) print $10 } < inputfile > outputfile

有修正的想法吗?

答案1

$var3被计算为编号存储在 中的字段的值var3,但 AWK 没有负字段编号。因此,如果var3为负数,您将得到问题中提到的错误。

如果您希望$field直接使用 的值,请使用var3代替$var3。如果这不是问题,您将需要重新审视您正在尝试执行的操作。

相关内容