README ~~~~~~ mygrep(1) ~~~~~~~~~ See mygrep.nw for the literate source of this program, which documents the design decisions. See _Literate Programming_ by D.E. Knuth for information about Literate Programming as a style of coding and documentation, and for information on the NoWeb implementation in particular. The Makefile is able to create the documentation in LaTeX (.tex), DVI (.dvi), Postscript (.ps) and HTML (.html) formats. mygrepsh(1) ~~~~~~~~~~~ mygrepsh mostly consists of argument parsing. Beyond that, it makes use of fgrep(1) for the grepping (using a dummy file to make sure that the filename is always displayed in the "recursive" case, passing through awk in the other); and uses find(1) and calls itself (without adding the recursive flag). It uses test(1) (in the form of []) to determine whether a file is a directory, a link, or irregular in some other way. It also takes some extra care to make sure it returns 1 or 0 appropriately.