テーブルから 1 つのエントリを削除する場合は、-r オプションを指定します (「1 つのエントリを削除する」を参照)。
テーブルから複数のエントリを削除する場合は、-R オプションを指定します (「複数のエントリを削除する」を参照)。
テーブルから 1 つのエントリを削除するには、次に示すように -r オプションを指定します。
nistbladm -r indexed-name |
次に示すコマンドでは、depts テーブルから Manf-1 エントリを削除します。
rootmaster% nistbladm -r [Dept=Manf-1,Site=Emeryville,Name=hosteen],\ depts.doc.com. |
指定する列の値の数は最小限に減らすことができます。NIS+ では、列の値の重複が見つかると、行は 1 つも削除されることなく、エラーが返されます。次のテーブルから Manf-1 エントリを削除するには、次に示すように Site 列の値を指定するだけで済みます。
rootmaster% nistbladm -r [Site=Emeryville],depts.doc.com. |
しかし、R&D エントリも Sales エントリと同じ値を持っているため、Site 列の値 (SanFran) を指定するだけでは Sales エントリを削除できません。
Dept |
Site |
Name |
---|---|---|
R&D |
SanFran |
kuznetsov |
Sales |
SanFran |
jhill |
Manf-1 |
Emeryville |
hosteen |
Manf-2 |
Sausalito |
lincoln |
テーブルから複数のエントリを削除するには、次に示すように -R オプションを指定します。
nistbladm -R indexedname |
オプションが -r であれば、最小限必要な列値を指定するだけで済みます。しかし、上記のコマンドでは -R が指定されているので、NIS+ が重複を見つけると、それに該当するすべてのエントリが削除されます。テーブル内の列の名前を確認したい場合は、niscat -o コマンドを実行します。次のコマンドを実行すると、Site 列の値が SanFran であるすべてのエントリが削除されます。
rootmaster% nistbladm -R [Site=SanFran],depts.doc.com. |
Dept |
Site |
Name |
---|---|---|
Manf-1 |
Emeryville |
hosteen |
Manf-2 |
Sausalito |
lincoln |
-R オプションを使用して、テーブルからすべてのエントリを削除することができます。次に示すように、列の値を指定しなければテーブル内のすべてのエントリを削除できます。
rootmaster% nistbladm -R [],depts.doc.com. |
nistbladm -R コマンドとともに使用すると、一対の空の角カッコはすべてのテーブル行を指定するワイルドカードとして解釈されます。