cdb - クラウド上のオンライン

これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド cdb です。

プログラム:

NAME


cdb - 定数データベース操作ツール

シノプシス


cdb -q [-m] [-n NUM] データベース名 キー
cdb -d [-m] [データベース名|-]
cdb -l [-m] [データベース名|-]
cdb -s [データベース名|-]
cdb -c [-m] [-t tmpname|-] [-p パーマ] [-weru0] データベース名 [ファイル内...]

DESCRIPTION


cdb CDB (定数データベース) ファイルのクエリ、ダンプ、リスト、分析、または作成に使用されます。 の形式
で説明されている cdb cdb(5) マンページ。 このマニュアルページはバージョンに対応しています 0.78 of タイニーCDB
パッケージ。

クエリー
cdb -q 与えられたものを見つける キー 与えられた データベース名 cdb ファイルを作成し、関連する値を標準に書き込みます
見つかった場合は出力 (ゼロで終了)、見つからなかった場合は非ゼロで終了します。 データベース名 しなければなりません
シーク可能なファイルであるため、stdin を入力として使用できません。 デフォルトでは、 cdb 印刷します
記録が見つかりました。 クエリモードで認識されるオプション:

-nNUM 原因 cdb 指定された番号のレコードを検索して書き込む NUM 1から始まる —
特定のキーを持つレコードが多数ある場合。

-m 値が出力されるたびに改行が追加されます。 デフォルトでは、複数の値は
区切り文字なしで記述できます。

ダンプ/リスト
cdb -d コンテンツをダンプし、 cdb -l のキーをリストします cdbファイル (そうでない場合は標準入力
指定されている) の存在によって制御される形式で、標準出力に出力されます。 -m オプション。 見る
以下のサブセクション「フォーマット」を参照してください。 からの出力 cdb -d の入力として使用できます cdb -c.

創造する
CDB データベースは XNUMX 段階で作成されます: 一時データベースの作成と作成後の
完了すると、名前が自動的に永続的な場所に変更されます。 これにより、次の要件が回避されます。
リーダーとライター (または作成者) 間のロック。 cdb -c で cdb を作成しようとします
file tmpname (または データベース名 -t オプションが指定されていない場合は「.tmp」が追加されます)、名前を次のように変更します。
データベース名。 提供されたものを読み取ります ファイル内s (何も指定されていない場合は標準入力)。 オプション
作成モードで認識されます:

-t tmpname
与えられたものを使用する tmpname 一時ファイルとして。 デフォルトは データベース名.tmp (つまり、出力ファイル付き)
.tmp が追加されました)。 注記 tmpname 出力ファイルと同じファイルシステムに存在する必要があります。
cdb 使用されます リネーム(2) データベース作成手順を完了します。 もし tmpname  
単一ダッシュ (-) を使用すると、一時ファイルは作成されず、データベースがインプレースで構築されます。
このモードは、呼び出し元が最終的な名前変更を行う場合に便利です。

-p パーマ
新しく作成されたファイルのアクセス許可 (通常は 0644 などの XNUMX 進数)。 による
デフォルトの権限は 0666 (現在のプロセスの umask が適用された状態) です。 これなら
オプションが指定されている場合、現在の umask 値は影響しません。

-w 重複キーについて警告します。

-e キーが重複した場合は中止します (-w を暗黙的に示します)。

-r 重複している場合は、既存のキーを新しいキーに置き換えます。 これにはデータベースが必要になる場合があります
古いレコードを削除するためにファイルを書き換えるので、時間がかかる可能性があります。

-0 重複レコードが追加された場合、既存のレコードをゼロで埋めます。 これはより速いです
-rただし、重複した場合に備えてデータベース ファイルに余分なゼロが残ります。

-u 重複したレコードを追加しないでください。

-m 入力を一連の行として解釈し、XNUMX 行に XNUMX つのレコードを値で区切ります。
ネイティブ CDB 形式ではなく、スペースまたはタブ文字によるキーから
以下「入出力形式」)。

重複チェックが必要なオプションを使用すると、作成プロセスが遅くなることに注意してください。
著しく特に大規模なデータベースの場合。

統計
cdb -s 分析します データベースファイル 概要を標準出力に出力します。 統計には次のものが含まれます。
ファイル内の行の合計数、キーと値の最小、平均、最大の長さ、ハッシュ
テーブル (最大 256) と使用されるエントリ、ハッシュ衝突の数 (つまり、複数のキー)
同じハッシュ テーブル エントリを指す)、最小、平均、および最大のハッシュ テーブル サイズ(非
空のテーブル)、およびそこから 10 の異なる距離にあるキーの数が計算されます。
ハッシュ テーブル インデックス — 距離 0 のキーにはハッシュ テーブル ルックアップが 1 つだけ必要で、XNUMX — XNUMX つなど
の上; 遠く離れたところにあるキーの数が増えると、データベースの検索が遅くなります。

入力/出力 フォーマット
デフォルトでは、 cdb (作成操作の場合) ネイティブ CDB 形式を期待するか、(ダンプ/リストの場合) 書き込みます
データ。 CDB ネイティブ形式は、次の形式のレコードのシーケンスです。
+クレン,ヴレン:キー->ヴァル\n
ここで、「+」、「,」、「:」、「-」、">」、および「\n」 (改行) はリテラル文字です。 クレン および ヴレン  
XNUMX 進数としてのキーと値の長さ、および キー および ヴァル が鍵であり、それ自体に価値があります。
空行で終了する一連のレコード。 これは、キーと
value には、改行、ゼロ (\0) などの任意の文字を含めることができます。

日時 -l オプションが要求されました (リストキーモード)、 cdb わずかに変更された出力が生成されます
形:
+クレン:キー\n
(注意 ヴレン および ヴァル 周囲の区切り文字も含めて省略されます)。

If -m オプションが与えられ、 cdb すべてのレコードに対して XNUMX 行を期待または生成します (改行は
レコード区切り文字)、すべての行にオプションの空白、キー、空白、および空白を含める必要があります。
行末までの値。 ハッシュ文字 (#) で始まる行と空行は、
無視されました。 これは次と同じ形式です mkmap(1) 実用性が期待される。

OPTIONS 概要


ここでは、によって受け入れられるすべてのオプションの短い概要を示します。 cdb ユーティリティ:

-0 作成時の重複レコードのゼロ埋め (-c)モード。

-c 作成モード。

-d ダンプモード。

-e 作成時の重複キーで中止 (エラー)-c)モード。

-h 短いヘルプを印刷して終了します。

-l リストモード。

-m 入力または出力は、ネイティブ cdb 形式ではなく、「マップ」形式です。 クエリモードで、
値が書き込まれるたびに改行が追加されます。

-nNUM 見つけて印刷する NUMクエリ内の 番目のレコード (-q)モード。

-q クエリモード。

-r 作成時の重複キーを置き換えます (-c)モード。

-s 統計モード。

-t 一時ファイル
作成時に一時ファイルを指定(-c) cdb ファイル (単一ダッシュ (-) を次のように使用します) 一時ファイル
一時ファイルの使用を停止します)。

-u create に重複したキー (一意の) を挿入しないでください (-c)モード。

-w 作成時の重複キーについて警告する (-c)モード。

onworks.net サービスを使用してオンラインで CDB を使用する



最新のLinuxおよびWindowsオンラインプログラム