O problema aqui é que . é usado para indicar qualquer caractere único . Portanto, o . corresponderia ao 5 em 50 , mas, sem nada que corresponda ao 0 , o restante da linha não corresponderá. Em qualquer caso, desde que você saiba que o que você está procurando é qualquer número , você deve ser mais específico com o seu regex. Corresponder qualquer número com:
[0-9]\+
Se você sabe que esse número pode ter uma parte fracionária opcional (depois de um ponto decimal), você pode usar o seguinte:
[0-9]\+\(\.[0-9]\+\)?
A barra invertida antes do + e dos parens deve ser omitida se você estiver usando a opção grep % PC_de% (PCRE).
Se você planeja usar a opção -P , deve saber que ela não está no padrão POSIX e pode não estar disponível em todas as plataformas.