두 개의 음수가 있고 를 사용하여 필드에서 숫자 범위를 추출하려고 합니다 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
. 이것이 문제가 아닌 경우 수행하려는 작업을 다시 검토해야 합니다.