Solução:
grep -Eo 'cbb=[^;}]+'
Vamos testá-lo:
$ grep -Eo 'cbb=[^;}]+' <<<'bc("STG1/Phone") = {type=bana_pub; cbb=12.354; abb=0.0}''
$ cbb=12.354
Explicação:
Quando você usa ... | grep cbb | ... , está usando o regex básico. O regex avançado não é tão complicado.
A opção -E é para regex avançada, útil para não escapar de alguns metacaracteres. -o é para imprimir apenas o que o grep corresponde em vez da linha inteira.
O regex cbb=[^;}]+ seria o mesmo para qualquer outro cmd, não apenas grep.
cbb= é uma string fixa, não há meta-caractere lá ( c seguido por b etc)
[^;}]+ colchetes delimitam um conjunto de caracteres em uma única posição. Um acento circunflexo no início significa conjunto de caracteres negado. O sinal de mais significa um ou mais caracteres. Dessa forma, ele corresponderá a qualquer caractere, pelo menos um, até encontrar um ; ou }
Aqui está um bom link para saber mais sobre regexes: link