sdb(1)

sdb1

Simple key-value database baked by base64, json and arrays

Usage

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

Overview

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 <[email protected]>

From radare2 6.2.2-1 in Arch Linux 2026-11-01. Parsed by carta from the page's mdoc source.