SDB(1)

NAME
sdb - simple key-value database baked by base64, json and arrays

SYNOPSIS
sdb [-0dehjJv] -|db [-|=|==] [.file|expr ..]

DESCRIPTION
SDB is a simple disk and memory string-based key-value database. It is based on CDB and uses

-d  Decode stdin as base64 and prints to result to stdout

-D  Find differences between two databases

-C  Create the C and H files for a perfect hash implementation of the contents of the given Sdb

-G  Create the gperf file used by -C

-e  Encode stdin in base64 and prints to stdout

-h  Show help message

-j  Indent JSON from stdin if no more arguments, otherwise dump database as JSON.

-J  Enable journaling

-h  Show help message

-v  Show version

EXAMPLES
Some useful ways to run it:

$ sdb - ; in memory database

$ sdb test.db = < test.txt ; create database from text file

$ sdb test.db == a.txt b.txt ; create database from text files in a single command

$ sdb test.db ; dump contents of database

$ sdb test.db a=b a ; inline queries

Append those quoted commands to 'sdb -' to test these sdb_query expressions:

a=hello b=world a b # hello world

a=1 +a -a # 2 1 ; key inc/dec

a={"a":122} a:a=O a # {"a":0} ; json set

a={"foo":122} +a:foo # 123 ; json increment

[]a=1,2,3,4,5 [?]a # 5 ; count array

[]a=1,2,3,4,5 [0]a # 1 ; get element

[]a=1,2 [0]a=X a # X2 ; replace

[]a=1,2 [+0]a=0 a # 012 ; prepend

[]a=1,2 [-1]a=3 a # 123 ; append

AUTHORS

pancake <pancake@nopcode.org>