TBDB, или пишем базу данных на BASH

Опубликовано admin в Пнд, 26/07/2010 - 10:50
Изначально была идея написать скрипт, который помогал бы просто и универсально работать с некими группами данных в домашних скриптах-написал-и-забыл.
И вот перед вами милая и прекрасная страшная и ужасная, но простая и удобная база данных для хранения небольшого количества данных в несложных домашних скриптах.

TBDB, она же — Terrible Bash Data Base.

Движок базы состоит из одного баш скрипта.

Поддерживаются 3 команды — select, insert, delete.
Данные хранятся в файле, каждая строка — запись, столбцы разделены символами таба (\t). Так как в содержимом таблицы могут быть знаки как переноса строк, так и таба, есть возможность хранить данные в base64.

Как с ней работать?


Общий синтаксис команд:
./tbdb.sh DBFile [modifers] [command] [parameters]

Команда select
1) Выборка по номерам строк
./tbdb.sh DBFile select 1,3,5 line 2
Выведет все значения в столбцах номер 1, 3 и 5 во второй строке.
2) Выборка по содержимому
./tbdb.sh DBFile select 1,3,5 where 3=text
Выведет все значения в столбцах номер 1, 3 и 5 в строках, где третья ячейка содержит «text»

Команда insert
./tbdb.sh DBFile insert field1 field2 field3
Добавит в файл DBFile строку с тремя ячейками, заполнит их как field1, field2, field3.

Команда delete
./tbdb.sh DBFile delete line 2
Удалит вторую строку.

Также есть модификаторы
"-n" — выдает перед каждой строкой номер строки в базе.
"-b" — заставляет работать базу c base64 данными.

Конечно, это далеко не sql-запросы ;)
Just for fun!
Исходный код с подсветкой: alexandr.sysoev.ru/node/85 (_http://alexandr.sysoev.ru/node/85)
И сам исходник, скачать: alexandr.sysoev.ru/uploads/sh/tbdb.sh.gz (_http://alexandr.sysoev.ru/uploads/sh/tbdb.sh.gz)

Статья взята с http://habrahabr.ru (_http://habrahabr.ru/blogs/crazydev/92864/)

( categories: )