NAME
nismatch, nisgrep − utilities for searching NIS+ tables
SYNOPSIS
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
DESCRIPTION
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 constrained to searching only those columns that are specifically 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 nisgrep 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 operation.
nismatch accepts an additional form of search criteria, indexedname, which is a NIS+ indexed name of the form:
[ colname=value, ... ],tablename
OPTIONS
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 concatenation path. | ||
-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 comparisons. | ||
-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 NIS+ object(s). | ||
-P |
Follow concatenation path. Specify that the lookup should follow the concatenation path of a table if the initial search is unsuccessful. |
-s sep
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*. |
EXAMPLES
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.
ENVIRONMENT VARIABLES
NIS_PATH
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 nisdefaults(1)).
EXIT STATUS
The following exit values are returned:
0 |
Successfully matches some entries. | ||
1 |
Successfully searches the table and no matches are found. | ||
2 |
An error condition occurs. An error message is also printed. |
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
SEE ALSO
niscat(1), nisdefaults(1), nisls(1), nistbladm(1), nis_objects(3NSL), attributes(5)
DIAGNOSTICS
No memory
An attempt to allocate some memory for the search failed.
tablename is not a table
The object with the name tablename was not a table object.
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 named tablename.
NOTES
NIS+ might not be supported in future releases of the Solaris TM Operating Environment. Tools to aid the migration from NIS+ to LDAP are available in the Solaris 9 operating environment. For more information, visit http://www.sun.com/directory/nisplus/transition.html.