繁体   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