簡體   English   中英

如何建立可搜索的數據庫?

[英]How to build a searchable database?

我想創建(或使用,如果已經存在的話)基於命令行的應用程序,用於創建,修改和搜索數據庫。

理想情況下,該數據庫將是一個簡單的文本文件,其中每一行都是一個條目。

如以下簡單示例所示:

Apple    Fruit    Malus              Green/Red      55
Banana   Fruit    Musa acuminata     Yellow         68
Carrot   Veget.   D. carota          Orange         35

假設此文本存儲在~/database.txt

我希望能夠在命令行上搜索fruit類型的所有條目(返回, AppleBanana )或卡路里數小於60所有條目(返回AppleCarrot )。

返回值應通過標准終端輸出發生,並且應如下所示:

$mydatabasesearch cal '<60'

Apple    Fruit    Malus              Green/Red      55
Carrot   Veget.   D. carota          Orange         35

另外,能夠通過命令行添加到數據庫中將非常棒!

周圍有什么事嗎? 如果沒有,您如何建議我編寫這樣的應用程序? 我知道一些C++ ,僅此而已...

看一看sqlite 它比純文本文件復雜一些,但功能強大得多。

純文本文件不是真正的數據庫。

如果要堅持使用文本文件和命令行,請查看適用於純文本文件的常規unix實用程序,例如grepawk和coreutils包( catcutuniq等)。 將這些命令添加到shellscript中就可以了。

轉移到某種數據庫系統后,您將不再擁有文本文件作為存儲空間。

除了已經提到的sqlite,如果您想編寫自己的程序, 伯克利數據庫庫也可能值得一看。 這兩個庫都適合您的情況,因為它們不需要外部數據庫服務器(例如mysql)

無論如何,您都可以在Unix中使用定界文件SED和一些簡單的命令行perl(可以將其包裝在bash腳本中)進行此操作。 這是一個很好的教程在數據操作維基教科書和SED你可以使用可能是所有在這里 ,並在第二部分教程。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM