Simples, se a palavra-chave estiver sempre na mesma coluna, por ex. coluna número 2
cut -d, -f 2 file(s) | grep -c 'true'
i.e. recorte a coluna 2 (-f 2), usando "," como seperador de campo (-d,), obtenha (grep) todas as dicas e conte-as (-c)
mais complicado, se tivermos que procurar pela coluna "ARD"
awk 'BEGIN {FS = ","} ; FNR == 1 { for ( i=1 ; i<=NF ; i++ ) { if ( $i=="ARD" ) { col=i } } } ; FNR >= 2 { print $col }' file(s) | grep -c 'true'
1) BEGIN { FS = "," }
antes de cada ação (BEGIN) use vírgula ","
como separador de campo ( FS=
)
2) para a primeira linha (ou seja, linha de cabeçalho) deste arquivo ( FNR == 1
) para todas as colunas ( for ( i=1 ; i<=NF ; i++ )
) verifique se a string "ARD" está nesta coluna ( if ( $i=="ARD")
); se assim for, defina a variável col
para o número desta coluna { col=i }
3) Agora que sabemos que o número de nossa coluna imprime a coluna omitindo a primeira linha (= cabeçalho) (ou seja, todas as linhas maiores que 2) deste arquivo FNR >= 2 { print $col }
. aqui usamos a variável col
como definido anteriormente.
4) canaliza a saída através de grep
count ( -c
) as ocorrências de "true"
5) para uma listagem arquivo por arquivo, use um loop for em um bash scrip