Eu baixei e descompactei o arquivo, e os finais de linha são CRLF, então você precisa dar conta disso, seja usando uma ferramenta como fromdos , ou se você não quer modificar o arquivo, você pode dizer ao Perl que você quer que ele faça a tradução com seu :crlf PerlIO camada, que é o que eu estou fazendo abaixo com a variável de ambiente PERLIO . (Existem outras maneiras de mudar as camadas, mas esta foi a mais fácil para um one-liner).
Estou usando o operador de flip-flop ... para extrair somente o parágrafo correspondente o regex mais o seguinte que corresponde a /^1\./ (já que todos os parágrafos no arquivo começam com [ ou 1. ).
wget http://kingbase-chess.net/download/650 -O KingBaseLite2018-03.zip
unzip KingBaseLite2018-03.zip
PERLIO=:crlf perl -00ne 'print if /"FIDE Candidates 2018"/.../^1\./' KingBaseLite2018-03.pgn