Seria mais fácil com awk neste caso:
% awk '{ print $NF }' file.txt
3
$NF são os dados no último campo delimitado por espaço em branco (coluna) no registro de entrada (linha).
grep é geralmente usado para obter linhas inteiras correspondentes a um padrão específico, mas algumas implementações também podem ser usadas para obter bits de linhas, usando o -o flag (retornará apenas o bits que são correspondidos):
% grep -o '[[:digit:]]$' file.txt
3
Mas, para o processamento geral de dados em linhas, recomendo awk over grep .
Se o arquivo contiver outras linhas de dados menos relevantes:
% awk '/^severity:/ { print $NF }' file.txt
Se, adicionalmente, o campo não estiver no extremo da linha, talvez você queira usar sed :
% sed -n '/^severity:/s/^.*not waived: \([[:digit:]]*\).*$//p' file.txt
3