Solaris ネーミングの管理

属性を検索する

fnsearch コマンドで、属性を検索します。

fnsearch コマンドの構文を以下に示します。


fnsearch [-ALlv] [-n max] [-s scope] name [-a ident ]... [-O|-U] filter_expr [ filter_arg]

表 27-1 fnsearch コマンドのオプション

オプション 

説明 

-n max

オブジェクトの最大数だけを表示する 

-s scope

検索の範囲を設定する 

-a ident

ident に一致する属性だけを表示する

name

複合名 

filter_expr

ブール、論理、グルーピング、リレーショナル、比較演算子 (表 27-2 参照)

filter_arg

フィルタ表現の引数 (表 27-2 参照)

-A

信頼できるソースだけを参照する 

-L

XFN リンクに従う 

-l

一致するオブジェクトのオブジェクトリファレンスを表示する 

-v

詳細表示。一致するオブジェクトの詳細なオブジェクトリファレンスを表示する 

-O

識別子にOSI OIDを使用する 

-U

識別子にDCE UUIDを使用する 

属性に対応するオブジェクトを検索する

fnsearch コマンドを使って、選択した属性に対応するオブジェクトを検索できます。

たとえば、orgunit/sales/site/ の中の for_sale という属性に対応している属性をすべて見つけ出す場合、以下のコマンドを入力します。


% fnsearch orgunit/sales/site/ for_sale

属性検索をカスタマイズする

検索パターンにおいて、フィルタ表現のうち以下のすべてを使用することもできます。

表 27-2 fnsearch フィルタ表現の演算子

フィルタ表現演算子 

シンボル、あるいは形式 

論理演算子 

orandnot

グルーピングのための丸括弧 

( )

関係演算子:ある属性を入力した値と比較する 

== 少なくとも 1 つの属性値が、入力した値に等しい場合、True (真) != 入力した値に等しい属性値がまったくない場合、True (真) < 少なくとも 1 つの属性値が、入力した値より小さい場合、True (真) <= 少なくとも 1 つの属性値が、入力した値よりも小さいか等しい場合、True (真) >少なくとも 1 つの属性値が、入力した値よりも大きい場合、True (真) >= 少なくとも 1 つの属性値が、入力した値よりも大きいか、等しい場合、True (真) ‾= 少なくとも 1 つの属性値が、いくつかのコンテキスト特有のおおまかな一致条件に照らして、入力した値に一致している場合、True (真)。この条件は厳密な一致を含む必要がある

例 

% fnsearch name "not (make == 'olds' and year == 1983)"

置換トークン: 

シェルスクリプトを書くときに役に立ち、-O および -U オプションを指定すると、OSI OID および DCE UUID を使用できる

%a は、属性に置き換えられる

%s は、文字列に置き換えられる

%i は、識別子に置き換えられる

%v は、属性値に置きかえられる (現在は、fn_attr_syntax_ascii しかサポートされていない)

例: 

以下の 3 つの例はどれも同じ 

% fnsearch name "color == 'red'"

% fnsearch name "%a == 'red'" color

% fnsearch name "%a == %s" color red

ワイルドカード文字列 

*, *string, string*, str*ing, %s*

拡張演算子 

'name'(ワイルドカードを使った文字列), 'reftype'(識別子), 'addrtype' (識別子)

例: 

名前が "Bill" で始まり、IQ 属性が 80 以上のオブジェクトを検索する 

% fnsearch name "'name'('bill'*) and IQ > 80"

検索パターン作成の詳細は、fnsearch(1) マニュアルページを参照してください。