next up previous 62
Next: Command line flags
Up: Command line operation
Previous: package argument

type argument, and pattern matching

It is also possible to specify whether the requested search term is a routine/function or a file, by specifying `type=func' or `type=file' respectively on the command line. This is not normally necessary, since the names of functions rarely clash with the names of routines.

A third possibility is `type=regex', in which case the search term is interpreted as a case-insensitive Perl regular expression, and all function names and all file names are checked for matches. All the matching terms, along with file locations, are then printed out (first files, then routines). In this case no source file is extracted. The same format of regular expression as used by the Unix grep utility can be used (although the many additional pattern matching facilities offered by Perl are also allowed). Thus to find, for instance, the locations of all the files and routines whose names contain `fit' followed by `gauss', the following command can be used:

% scb 'fit.*gauss' type=regex

ech_fit_gaussian.f       => echomop#echomop_source.tar>ech_fit_gaussian.f
fitgauss.f               => figaro#figaro_appca.tar>appca/fitgauss.f
fitgauss.ifl             => figaro#figaro_source.tar>fitgauss.ifl
sculib_fit_2d_gaussian.f => surf#surf_sculib.tar>sculib_fit_2d_gaussian.f
fit_mgauss.f             => twodspec#twodspec_opt.tar>opt/fit_mgauss.f

ech_fit_gaussian_        => echomop#echomop_source.tar>ech_fit_gaussian.f
fitgauss_                => figaro#figaro_appca.tar>appca/fitgauss.f
sculib_fit_2d_gaussian_  => surf#surf_sculib.tar>sculib_fit_2d_gaussian.f
fit_mgauss_              => twodspec#twodspec_opt.tar>opt/fit_mgauss.f
If the package argument is given as well as the type=regex argument, then only the package specified will be searched.

More flexible pattern matching searches are possible with inventive use of the dbmcat command described in section 6.1.

next up previous 62
Next: Command line flags
Up: Command line operation
Previous: package argument

SCB --- Source Code Browser
Starlink User Note 225
M. B. Taylor
10 December 1999