Você pode definir o separador de registros para
# empty line
# empty line
[
só precisa escapar de [ com barras invertidas duplas.
Após essa busca por {N} string e se você encontrar um imprime o registro inteiro adicionando de volta \n\n[ se o registro não for o primeiro.
Aqui está como eu faria isso:
awk 'BEGIN{RS="\n\n\["}/\{N\}/{if(NR!=1) printf "\n\n["; print $0}' file
Editar :
Para corresponder apenas ao jogador preto com {N} :
awk 'BEGIN{RS="\n\n\["}/\{N\} (\([^)]*\)[[:space:]])*[[:space:]]*[[:digit:]]/{if(NR!=1) printf "\n\n["; print $0}' file