Na verdade, com a opção -o
, o GNU grep
retorna apenas o que correspondeu. Que tal:
grep -oP "\w*[A-Z]+\w*" yourfile.txt
Note que este regex irá combinar palavras com letras maiúsculas em qualquer lugar , não necessariamente o começo. Você deve ajustá-lo para atender às suas necessidades, caso elas sejam diferentes.
Como apontado abaixo, isso pode não ser a solução mais portátil. Uma alternativa portátil em Perl é
perl -nE 'say $1 while /(\w*[A-Z]+\w*)/g' yourfile.txt