scancontext

scancontext is the first of a set of commands (in the TclX package) intended to be used together to search through a file for regular expression matches and then executing Tcl code on the match. This provides a facility similar to awk.

scancontext creates a handle for the collection of regular expressions and tcl commands to execute when the expressions are located.

The scancontext command manages file scan contexts. A scan context is a collection of regular expressions and commands to execute when a specific regular expression matches a line of the file. A context may also have a single default match, to be applied against lines that do not match any of the regular expressions. Multiple scan contexts may be defined and they may be reused on multiple files. A scan context is identified by a context handle.

The scancontext command takes the following forms:

scancontext create
Create a new scan context. The scanmatch command is used to define patterns in the context. A contexthandle is returned, which the Tcl programmer uses to refer to the newly created scan context in calls to the Tcl file scanning commands.
scancontext delete contexthandle
Delete the scan context identified by contexthandle, and free all of the match statements and compiled regular expressions associated with the specified context.
scancontext copyfile contexthandle ?filehandle?
Set or return the file handle that unmatched lines are copied to. (See scanfile). If filehandle is omitted, the copy file handle is returned. If no copy file is associated with the context, {} is returned. If a file handle is specified, it becomes the copy file for this context. If filehandle is {}, then it removes any copy file specification for the context.

See also scanmatch and scanfile.