Um one-liner Perl para o trabalho:
perl -nle 'print s/(^|[^,]),,([^,]|$)/$&/g' your_file
Ou, ainda mais curto, com awk
:
awk -F',,' '{print NF-1}' your_file
O awk
um consideraria ,,,,
como duas ocorrências de ,,
, enquanto o perl
não o contaria. Escolha o que melhor se adequa ao seu caso de uso.
Atualizar
Em seu comentário Parece que sua intenção original era contar o número de campos vazios em cada linha. Se for esse o caso, este one-liner Perl deve ajudar (ele assume que não há campos entre aspas que contenham vírgulas):
perl -nle 'print scalar grep {//} split/,/' your_file
O mesmo em awk
se Perl não estiver disponível:
awk -F, 'empty=0;{for(i=1;i<=NF;i++)if($i=="")empty++};{print empty}' your_file