Altere seu comando para isto:
nc -zv 192.168.1.1 1-100 2>&1 | grep succeeded
2>&1 faz com que stderr de um programa seja gravado no mesmo descritor de arquivo como stdout . nc escreve para stderr por padrão, o pipe obterá apenas stdout , portanto o grep perderá os dados.
Veja a seção 3.5 aqui para mais informações Tudo sobre o redirecionamento .