Biblook is a program for quickly searching through bibtex files. The simplest thing biblook allows you do is find all entries with a certain word in a certain field ("
find author twain"). Search results can be displayed or saved into another bibtex file. You can also do much more complicated things, all of which are described in the biblook man page.
Bibindex is a support program that creates an index file for later use by biblook. You run bibindex once for each bibtex file you have. The indexing makes searching with biblook much faster than using something like grep or emacs. For details on how the indexing is done, see the bibindex man page.
Version 2.9 of bibindex/biblook was released on March 30, 1998. Thanks to Sariel Har-Peled, biblook now supports limited pattern matching. Search terms can contain multiple instances of ? (meaning any single character) and * (any string, including the empty string). For example, the query "
find title *oi?t*" will find entries with title words like "disjoint", "moist", "points", "oiltanker", etc.
Biblook and bibindex were written by me, with numerous additions and bug fixes by other folks, especially Nelson Beebe, Sariel Har-Peled, Bill Jones, and Erik Schoenfelder. Their specific contributions are noted in the revision histories at the beginning of the source files. Bill Jones has completely taken over maintenance of the program, as part of the computational geometry bibliography project.
Versions of biblook and bibindex through 2.9 are in the public domain. That means you may use them, modify them, an even sell them to your heart's content, at your own risk, without my permission. Version 2.10, which includes the GNU readline utility, is distributed with Debian Linux under the Gnu Public Licence, thanks to a cute little meme-infestation clause.
Both programs are written in ANSI C and should compile under any ANSI-compliant C compiler. (I recommend gcc.) The version 2.9 source code is available as 44K gzipped tar file.