O padrão Regex que você contém contém:
- Grupo que não captura,
(?:) - Lookahead negativo de largura zero,
(?!)
que são suportados apenas por grep com PCRE, Expressão Regular Compatível com Perl ( -P )
Então você precisa de grep -P e para capturar apenas a parte correspondente, -o :
% grep -Po '(?:([bcdfghjklmnpqrstvwxzy])(?!.{1,2})){3}' <<<'foobarspfb'
rsp