我有两个负数,我正在尝试使用 . 从字段中提取一系列数字awk
。它对于正数非常有用......但是当我尝试做负数时我得到了错误。
FILENAME=- FNR=1303
)fatal 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
。如果这不是问题,您将需要重新审视您正在尝试执行的操作。