หากคุณกำลังเตรียมที่จะใช้มาตรฐาน Linux เครื่องมือบรรทัดคำสั่งที่ชอบwc
และgrep
แล้วฉันคิดว่าหน่วยประมวลผล PGN ฟรีของฉันPgn สารสกัดจะทำมากของการประมวลผลก่อนจำเป็นที่จะต้องนับเกมในแต่ละหมวดหมู่ ด้านล่างเป็นสคริปต์ทุบตีพื้นฐานที่ฉันรวบรวมไว้เป็นหลักฐานของแนวคิด มันถือว่าไฟล์เกมของคุณถูกเรียกinputfile.pgn
- ปรับตามความจำเป็นหรือส่งผ่านเป็นอาร์กิวเมนต์บรรทัดคำสั่ง:
#!/bin/bash
# Output stats on castling.
src=inputfile.pgn
# Pre-process the games to allow textual analysis.
pgn-extract -C -V -N --notags --nochecks --linelength 10000 -s -o stripped.pgn ${src}
# Castling by white: detect a preceding move number.
grep '\. O-O ' stripped.pgn > Wkingside.pgn
grep '\. O-O-O ' stripped.pgn > Wqueenside.pgn
# Castling by black: detect no preceding move number.
grep '[^.] O-O ' stripped.pgn > Bkingside.pgn
grep '[^.] O-O-O ' stripped.pgn > Bqueenside.pgn
# Find games in which no castling occurred.
grep -v ' O-O ' stripped.pgn | grep -v ' O-O-O ' | grep -v '^$' > nocastle.pgn
# Output the FEN of the final position to include castling rights and
# look for the presence of rights.
pgn-extract -C -V -N --notags --nomovenumbers --linelength 10000 -s nocastle.pgn --dropply -1 -F | grep ' [wb] [KkQq]' > rights.txt
# Output the results - assumes valid Result tags in the source.
echo 'Number of games: ' `grep '^\[Result ' ${src} | wc -l`
echo 'W Kingside: ' `cat Wkingside.pgn | wc -l`
echo 'W Queenside: ' `cat Wqueenside.pgn | wc -l`
echo 'B Kingside: ' `cat Bkingside.pgn | wc -l`
echo 'B Queenside: ' `cat Bqueenside.pgn | wc -l`
echo 'Neither: ' `cat nocastle.pgn | wc -l`
echo 'Rights retained: ' `cat rights.txt | wc -l`
ฉันลองใช้สคริปต์ในฐานข้อมูล KingBase (เม.ย. 2019) และหลังจากลบเกมที่เสียหายแล้วและมีรายการที่ซ้ำกันมีสถิติต่อไปนี้:
Number of games: 2072354
W Kingside: 1633762
W Queenside: 246158
B Kingside: 1670870
B Queenside: 128124
Neither: 69776
Rights retained: 24280
ตัวเลข 'ไม่ใช่' ประมาณ 3.4% ในขณะที่ตัวเลข 'สิทธิ์ที่สงวนไว้' มีค่าประมาณ 1.2% หากเกมที่มีจำนวน 20 หรือน้อยกว่าถูกลบออกไปตัวเลข 'ไม่' จะลดลงเหลือ 2.9% และรูปแบบ 'สิทธิ์ที่สงวนไว้' ลดลงประมาณ 0.7%