-a] [-c<command>] [-H]
-a
iid uses the lid command to search for names.
If you give the -a option on the command line, then it will
use aid as the default search engine.
-c<command>
iid starts up and prompts you for commands
used to build sets of files. The -c option is used to pass a
single query command to iid which it then executes and exits.
-H
-H option prints a short help message and exits. To get more
help use the help command from inside iid.
The iid program is an interactive ID query tool. It operates by
running the other query programs (such as lid and aid)
and creating sets of file names returned by these queries. It also
provides operators for anding and oring these sets to
create new sets.
The PAGER environment variable names the program iid uses
to display files. If you use emacs, you might want to set
PAGER so it invokes the emacsclient program. Check the
file `lisp/server.el' in the emacs source tree for documentation on
this. It is useful not only with X windows, but also when running
iid from an emacs shell buffer. There is also a somewhat spiffier
version called gnuserv by Andy Norman
(ange%anorman@hplabs.hp.com) which appeared in `comp.emacs'
sometime in 1989.
The primary query commands are ss (for select sets) and files
(for show file names). These commands both take a query expression as an
argument.
ss command runs a query and builds a set (or sets) of file names. The
result is printed as a summary of the sets constructed showing how many file
names are in each set.
files command is like the ss command, but rather than printing
a summary, it displays the full list of matching file names.
f command is merely a shorthand notation for files.
Database queries are simple expressions with operators like and
and or. Parentheses can be used to group operations. The complete
set of operators is summarized below:
pattern
lid, but aid
is used if the -a option was given when iid was started).
The result of this operation is a set of file names, and it is assigned a
unique set number.
lid
lid is a keyword. It is used to invoke lid with the list of
identifiers following it as arguments. This forces the use of lid
regardless of the state of the -a option (see section Lid).
aid
aid keyword is like the lid keyword, but it forces the
use of the aid program (see section Aid).
match
match operator invokes the pid program to do pattern
matching on file names rather than identifiers. The set generated contains
the file names that match the specified patterns (see section Pid).
or
or operator takes two sets of file names as arguments and generates
a new set containing all the files from both sets.
and
and operator takes two sets of file names and generates a new
set containing only files from both sets.
not
not operator inverts a set of file names, producing the set of
all files not in the input set.
set number
s followed immediately by a number.
This refers to one of the sets created by a previous query operation. During
one iid session, each query generates a unique set number, so any
previously generated set may be used as part of any new query by referring
to the set number.
The not operator has the highest precedence with and
coming in the middle and or having the lowest precedence. The
operator names are recognized using case insensitive matching, so
AND, and, and aNd are all the same as far as
iid is concerned. If you wish to use a keyword as an operand to
one of the query programs, you must enclose it in quotes. Any patterns
containing shell special characters must also be properly quoted or
escaped, since the query commands are run by invoking them with the
shell.
Summary of query expression syntax:
A <query> is: <set number> <identifier> lid <identifier list> aid <identifier list> match <wild card list> <query> or <query> <query> and <query> not <query> ( <query> )
The sets command displays all the sets created so far. Each one
is described by the query command that generated it.
The show and p commands are equivalent. They both accept
a set number as an argument and run the program given in the PAGER
environment variable with the file names in that set as arguments.
The begin command (and its abbreviated version b) is used
to begin a new iid session in a different directory (which presumably
contains a different database). It flushes all the sets created so far
and switches to the specified directory. It is equivalent to exiting iid,
changing directories in the shell, and running iid again.
The help, h, and ? command are three different ways to
ask for help. They all invoke the PAGER program to display a short
help file.
These three command (or just an end of file) all cause iid to exit.
When the first word on an iid command is not recognized as a
builtin iid command, iid assumes the command is a shell
command which will write a list of file names to stdout. This list
of file names is used to generate a new set of files.
Any set numbers that appear as arguments to this command are expanded into lists of file names prior to running the command.
If a command starts with a bang (!) character, the remainder of
the line is run as a shell command. Any set numbers that appear as
arguments to this command are expanded into lists of file names prior to
running the command.