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