Em vez de usar N como separador de campos, por que não usar o separador de espaços em branco padrão de tal forma que NF
tenha sua interpretação convencional (ou seja, o número de colunas) e use o valor de retorno de gsub
para contar N
s?
$ awk '{print gsub("N","N")/NF}' genotype-HA1_1
0
0.1
0.3
0.1
0
NOTA: gsub("N","N")
conta as ocorrências do caractere N
no registro (linha), que geralmente não é o mesmo que o número de campos que são iguais a N
(embora na sua entrada de amostra sejam iguais ). Se você precisa de uma definição mais rígida, então uma abordagem do KISS seria algo como:
awk '{c = 0; for(i=1;i<=NF;i++) c += ($i == "N"); print c/NF}' genotype-HA1_1