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