我有一个如下所示的文件:
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