número de contagem de uma string específica em cada linha

0

Eu tenho uma tabela SNP parecida com esta

A N N N N N N N N N N N
N C N N N C N N N N N N
N N N N N N N N N N N N
N C N N N C N N N N N N
N N N N N N N N N N N N
C C N N N N N N N N N N
C C N N N C C N N N N N
N N N N N N N N N N N N

Eu quero contar o número total de N em cada linha? alguma ideia de como fazer isso

    
por Anna1364 06.10.2017 / 18:22

2 respostas

2

com awk .

awk -F\N '{print NF-1}' infile

Or.

awk -F\N '$0=NF-1' infile

Or.

awk '{print gsub(/\<N\>/, "")}' infile

Ou para identificar em qual linha:

awk -F\N '$0="line "NR": "NF-1' infile
    
por 06.10.2017 / 19:24
2

Se você quiser apenas contar as ocorrências de um caractere específico N em cada linha, então

perl -lne 'print tr/N//' infile

Se você quiser ser mais rigoroso e contar o número de colunas delimitadas por espaço em branco consistindo exatamente na string N ,

perl -alne 'print scalar grep { $_ eq "N" } @F' infile
    
por 06.10.2017 / 19:28