.Dd Feb 7, 2021 .Dt SDB 1 .Os .Sh "نام (NAME)" .Nm sdb .Nd پایگاه داده کلید-مقدار ساده مبتنی بر base64، json و آرایه‌ها .Sh "خلاصه دستور (SYNOPSIS)" .Nm sdb .Op Fl 0dehjJv .Ar -|db .Ar [-|=|==] .Ar [.file|expr ..] .Sh "توضیحات (DESCRIPTION)" ابزار SDB یک پایگاه داده کلید-مقدار ساده مبتنی بر رشته روی دیسک و حافظه است. این ابزار بر پایه CDB بوده و از گزینه‌های زیر استفاده می‌کند: .Bl -tag -width Fl .It Fl d رمزگشایی ورودی استاندارد (stdin) به عنوان base64 و چاپ نتیجه در خروجی استاندارد (stdout) .It Fl D یافتن تفاوت‌های میان دو پایگاه داده .It Fl C ایجاد فایل‌های C و H برای پیاده‌سازی درهم‌سازی کامل (perfect hash) از محتویات Sdb داده‌شده .It Fl G ایجاد فایل gperf مورد استفاده توسط -C .It Fl e کدگذاری ورودی استاندارد (stdin) در قالب base64 و چاپ در خروجی استاندارد (stdout) .It Fl h نمایش پیام راهنما .It Fl j دندانه‌بندی و مرتب‌سازی JSON از ورودی استاندارد در صورت نبود آرگومان‌های دیگر، در غیر این صورت استخراج محتویات پایگاه داده در قالب JSON. .It Fl J فعال کردن ژورنالینگ (journaling) .It Fl h نمایش پیام راهنما .It Fl v نمایش نسخه .El .Sh "مثال‌ها (EXAMPLES)" چند روش کاربردی برای اجرای آن: .Pp $ sdb - ; پایگاه داده درون حافظه .Pp $ sdb test.db = < test.txt ; ایجاد پایگاه داده از فایل متنی .Pp $ sdb test.db == a.txt b.txt ; ایجاد پایگاه داده از فایل‌های متنی در یک دستور واحد .Pp $ sdb test.db ; استخراج محتویات پایگاه داده .Pp $ sdb test.db a=b a ; پرس‌وجوهای درون‌خطی .Pp برای آزمایش این عبارات sdb_query، این دستورها را به 'sdb -' اضافه کنید: .Pp a=hello b=world a b # hello world .Pp a=1 +a -a # 2 1 ; افزایش/کاهش مقدار کلید .Pp a={"a":122} a:a=O a # {"a":0} ; مقداردهی json .Pp a={"foo":122} +a:foo # 123 ; افزایش عددی مقدار json .Pp []a=1,2,3,4,5 [?]a # 5 ; شمارش عناصر آرایه .Pp []a=1,2,3,4,5 [0]a # 1 ; دریافت عنصر .Pp []a=1,2 [0]a=X a # X2 ; جایگزینی .Pp []a=1,2 [+0]a=0 a # 012 ; درج در ابتدا .Pp []a=1,2 [-1]a=3 a # 123 ; الحاق به انتها .Pp .Sh "نویسندگان (AUTHORS)" .Pp pancake