Digitar Ctrl + C do terminal envia SIGINT para o grupo de processos em primeiro plano. Se você quiser que wc sobreviva a este evento e produza saída, você precisa ignorar o sinal.
A solução é executar wc em um subshell e ter seu shell shell definido como SIGINT a ser ignorado antes de executar wc . wc herdará essa configuração e não morrerá quando SIGINT for enviado para o grupo de processos. O restante do pipeline vai morrer, deixando wc lendo de um pipe que não tem processo no outro extremo. Isso fará com que wc veja EOF no canal e, em seguida, exibirá suas contagens e sairá.
ngrep -W byline port 80 and dst host 1.2.3.4 | grep ":80" | (trap '' INT ; wc)