awk 누락된 열 캡처

awk 누락된 열 캡처

다음과 같은 파일이 있습니다.

SOME,DESCRIPTIONS,OF,THE,COLUMNS
0,93,50127,0,49592,1,49592,1
100,195,107336,0,106491,2,107077,2
200,298,178492,3,170578,24,172045,13
...
2590,0

네 번째 열($4)과 여섯 번째 열($6)을 기준으로 비율 열을 추가하려고 합니다.

나는 썼다:

awk -F "," 'NR==1{$9=",ratio"}NR>1{if($4==0) $9 = "10000"; else $9 = ($6)/($4)}' $FILE

보시다시피 마지막 줄에서 출력 형식이 잘못되고 열이 누락되어 명령을 실행하면 오류가 발생합니다 division by zero.

잘못된 줄을 건너뛸 수 있는 방법이 있나요?

답변1

awk 'BEGIN  { FS=OFS="," }
NR==1       { $9="ratio" }
NR>1 && NF>3{ if($4==0) $9 =10000; else $9 =$6/$4 } 
{ print }' infile

관련 정보