Pattern match atari: Fix ladder test
[pachi.git] / pattern_byplayer.sh
blobaea96cb8c2e17af14378065cf4ffc8e2a14354e5
1 #!/bin/sh
2 # pattern_byplayer - Build a per-player database of used patterns
4 # Invoke this script for each played game, it will add patterns
5 # to the database incrementally; each file in the database contains
6 # patterns played by one player.
8 dbdir="$1"; shift
9 sgf="$1"; shift
10 # rest of parameters is passed to the patternscan engine
12 sgf_attr() {
13 # GNU sed mishandles CRLF lines
14 cat "$sgf" | tr -d '\r' | sed -n -e 's/'$1'\[\([^]]*\)\]/\1/p'
17 black="$(sgf_attr PB)"
18 white="$(sgf_attr PW)"
19 handi="$(sgf_attr HA)"
21 if [ -n "$handi" ] && [ "$handi" -gt 0 ]; then
22 to_play=white
23 # Comment following out if you want to include handi games.
24 echo "$sgf: Skipping handicap game" >&2
25 exit 1
28 to_play=black
29 ./sgf2gtp.pl "$sgf" | ./zzgo -e patternscan "$@" |
30 sed -n -e 's/^= //p' | grep -v '^ *$' | # skip irrelevant replies
31 while read pattern; do
32 if [ "$to_play" = black ]; then
33 player="$black"
34 to_play=white
35 else
36 player="$white"
37 to_play=black
39 echo "$pattern" >>"$dbdir/$player"
40 done