nismatch, nisgrep - utilities for searching NIS+ tables
nismatch [-AchMoPv] [-s sep] key tablename
nismatch [-AchMoPv] [-s sep] colname = key... tablename
nismatch [-AchMoPv] [-s sep] indexedname
nisgrep [-AchiMov] [-s sep] keypat tablename
nisgrep [-AchiMov] [-s sep] colname = keypat... tablename
The utilities nismatch and nisgrep can be used to search
NIS+ tables. The command nisgrep differs from the nismatch
command in its ability to accept regular expressions keypat
for the search criteria rather than simple text matches.
Because nisgrep uses a callback function, it is not con-
strained to searching only those columns that are specifi-
cally made searchable at the time of table creation. This
makes it more flexible, but slower, than nismatch.
In nismatch, the server does the searching, whereas in nis-
grep the server returns all the readable entries and then
the client does the pattern-matching.
In both commands, the parameter tablename is the NIS+ name
of the table to be searched. If only one key or key pattern
is specified without the column name, then it is applied
searching the first column. Specific named columns can be
searched by using the colname=key syntax. When multiple
columns are searched, only entries that match in all columns
are returned. This is the equivalent of a logical join
nismatch accepts an additional form of search criteria,
indexedname, which is a NIS+ indexed name of the form:
[ colname=value, ... ],tablename
The following options are supported:
-A All data. Return the data within the table and all of
the data in tables in the initial table's concatena-
-c Print only a count of the number of entries that
matched the search criteria.
-h Display a header line before the matching entries that
contains the names of the table's columns
-i Ignore upper/lower case distinction during comparis-
-M Master server only. Send the lookup to the master
server of the named data. This guarantees that the
most up to date information is seen at the possible
expense that the master server may be busy.
-o Display the internal representation of the matching
-P Follow concatenation path. Specify that the lookup
should follow the concatenation path of a table if the
initial search is unsuccessful.
This option specifies the character to use to separate
the table columns. If no character is specified, the
default separator for the table is used.
-v Verbose. Do not suppress the output of binary data
when displaying matching entries. Without this option
binary data is displayed as the string *BINARY*.
Example 1: Searching a table for a username
This example searches a table named passwd in the org_dir
subdirectory of the zotz.com. domain. It returns the entry
that has the username of skippy. In this example, all the
work is done on the server:
example% nismatch name=skippy passwd.org_dir.zotz.com.
Example 2: Finding users using specific shells
This example is similar to the one above, except that it
uses nisgrep to find all users in the table named passwd
that are using either ksh(1) or csh(1):
example% nisgrep 'shell=[ck]sh' passwd.org_dir.zotz.com.
If this variable is set, and the NIS+ table name is
not fully qualified, each directory specified will be
searched until the table is found (see
The following exit values are returned:
0 Successfully matches some entries.
1 Successfully searches the table and no matches are
2 An error condition occurs. An error message is also
See attributes(5) for descriptions of the following attri-
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
| Availability | SUNWnisu |
niscat(1), nisdefaults(1), nisls(1), nistbladm(1),
An attempt to allocate some memory for the search
tablename is not a table
The object with the name tablename was not a table
Can't compile regular expression
The regular expression in keypat was malformed.
column not found: colname
The column named colname does not exist in the table
NIS+ might not be supported in future releases of the
SolarisTM Operating Environment. Tools to aid the migration
from NIS+ to LDAP are available in the Solaris 9 operating
environment. For more information, visit
Man(1) output converted with