I will suppose you are familiar with the game Go (and how to play it on computers), if not, you can learn it, trust me, it is a great game!
I have been a Go player for nearly 20 years, and have been playing on the Internet ( mostly on IGS server ) for over 6 years. I have saved 100+ my personal game records, and collected over 1000 professional game records, all in SGF/MGT format.
One day, I remembered I have played a "ten-thousand-year ko" (if you don't know what it is, see the picture below) in a previous game, but where is the game file? And also, how did pros handle this kind of ko in their games? Do I have any pro game record that contains this kind of ko? I could not figure out how to search SGF files, thus I decide to write a small SGF Go Game search utility for myself.
So this is gsearch, with it, I can put the "ten-thousand-year ko" sequence in an SGF file, like this (click the image to get the file):
then feed this SGF file ( called pattern file ) to gsearch, let it search all my SGF game record files, and get the results. Actually I did it by typing "gsearch -c p0.mgt *.sgf *.mgt" on the command line, then it gave me the result "990526.sgf:221", which means it happened in my game "990526", move# 221. Of course, that's not all, what I want is to make gsearch a general purpose SGF Go Game search tool, it supports searching two kinds of patterns: sequence and shape. For how to use it, please see the file gsearch.man.txt in the release package, and there are some examples for it:
See some examples:
gsearch options pattern file main file Result Found at #8 Found at #8 Not found Found at #4 Found at #4 -f Found at #4 -f Not found Not found -c Found at #3
gsearch options pattern file main file Result -s Found -s -f Not Found -s Found -s -f Found
Zheli Erwin Yu eyu@qwest.net