awkの負数

awkの負数

2つの負の数があり、を使用してフィールドから数値範囲を抽出しようとしていますawk。正数には有効ですが、負数を計算しようとするとエラーが発生します。 FILENAME=- FNR=1303fatal 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数値に格納されているフィールドの値は数値として計算されますが、var3AWKには負のフィールド番号はありません。したがって、var3負の数の場合、質問に記載されているエラーが発生します。

$field値を直接使用するには、var3代わりにを使用してください$var3。これが問題でない場合は、実行したい操作を再確認する必要があります。

関連情報