Nedalo mi to, abych to nezkusil vyřešit přes buffer.  Dokonce je ten sed  POSIX způsobilý:
dmesg | tail -33| echo -n $(sed -n 'H;${x;s/[^.]//gp}') | wc -msed ale asi výstup tisknout rovnou bez koncového newline neumí..
ještě awk:
dmesg | tail -33| awk '{gsub(/[^.]/,"");printf $0}' | wc -mAle ten Perl je tu víc než dvakrát rychlejší, než awk, i sed. 
Mimochodem:
... nicmene docela by me zajimalo, jak to udelat sedem ...  's/[^.]//g' prekvapive v sedu nefunguje jak bych cekal (tedy oznac kazdy znak krome tecky) ..
Tohle naopak funguje přesně podle očekávání, vzhledem k tomu, že sed je řádkový procesor, fungující tudíž ve smyčce typu 
while read line; do ...; done 
Edit: A řádově rychlejší je pak trdelník:
dmesg | tail -33| tr -cd . | wc -m