Você pode canalizar o resultado grep
para head
.
Note que, para garantir a parada após a enésima partida, você precisa usar stdbuf
para garantir que grep
não armazene em buffer sua saída:
stdbuf -oL grep -rl 'pattern' * | head -n10
Assim que head
consumir 10 linhas, ele será encerrado e grep
receberá SIGPIPE
, pois ainda produzirá algo para enviar enquanto head
desapareceu.
Isso pressupõe que nenhum nome de arquivo contém nova linha.