@bufferunderrun said in #8:
> You can do this with pgn-extract: www.cs.kent.ac.uk/people/staff/djb/pgn-extract/
> with a -t flag and for example this tagfile:
>
> Opening "Sicilian"
> WhiteElo > "2000"
> BlackElo > "2000"
> Result "0-1"
>
> This will work a little bit faster than anything written in Python or JavaScript since it's C :)
>
> pgn-extract -s -t tags.txt -o out.pgn --maxmoves 30 lichess.pgn
>
> See full description link there for explanations and examples.
>
> There is also database.nikonoel.fr with already filtered games. Could be easier to process if your search criteria are similar. Though I don't think Opening tags are included, so you would need to either filter out by ECO or do ECO classification (can do with pgn-extract and its eco.pgn).
> Also see TSV (tab-separated values) files github.com/lichess-org/chess-openings if you want to create your own eco.pgn based on Lichess names. Bear in mind that the names might have changed over time.
Can this also work with directly the pgn.zst files without uncompressing?
> You can do this with pgn-extract: www.cs.kent.ac.uk/people/staff/djb/pgn-extract/
> with a -t flag and for example this tagfile:
>
> Opening "Sicilian"
> WhiteElo > "2000"
> BlackElo > "2000"
> Result "0-1"
>
> This will work a little bit faster than anything written in Python or JavaScript since it's C :)
>
> pgn-extract -s -t tags.txt -o out.pgn --maxmoves 30 lichess.pgn
>
> See full description link there for explanations and examples.
>
> There is also database.nikonoel.fr with already filtered games. Could be easier to process if your search criteria are similar. Though I don't think Opening tags are included, so you would need to either filter out by ECO or do ECO classification (can do with pgn-extract and its eco.pgn).
> Also see TSV (tab-separated values) files github.com/lichess-org/chess-openings if you want to create your own eco.pgn based on Lichess names. Bear in mind that the names might have changed over time.
Can this also work with directly the pgn.zst files without uncompressing?