2つの負の数があり、を使用してフィールドから数値範囲を抽出しようとしていますawk
。正数には有効ですが、負数を計算しようとするとエラーが発生します。
FILENAME=- FNR=1303
)fatal attempt to access field -532
(-532
私の番号の1つはどこにありますか?)これは私のコードです。
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
。これが問題でない場合は、実行したい操作を再確認する必要があります。