我需要实现的目标
我在磁盘(特定文件)上有一个巨大的集合(大约100万个)记录(每个500字节的记录),格式低于
===========================================================
|X|a,b,c|O|m,n,g|X|t,a,c|X|e,p,q|O|u,q,p|X|r,t,s|O|l,m,a|
===========================================================
第一个字段由标志('X')组成,表示有效填充数据,标志('O')由结构化数据组成。例如,第一组包含一个有效数据,其中a,b,c作为其数据(假设为结构)。
我需要在屏幕(linux)上显示它们更像top
命令输出(简单 - 意思是键盘输入驱动,动态GUI - 如刷新,向下翻页选项等),如 -
Display Record From No XXX
Records Number Field 1 Field 2 Field 3
1 a b c
2 NA NA NA
3 t a c
4 o p q
5 NA NA NA
6 r t s
7 NA NA NA
F5 [Referesh] Page-Down [Next Page] Page-Up [Prev Page] Ctrl+C [Exit]
如果值XXX将由用户输入并显示一页记录。
问题
一个。由于显示类似于top / atop命令,你能告诉我这些命令显示输出的基础吗?
湾任何特定语言(如GTK,QT等)更适合此类操作?基本上除了top / atop命令中使用的语言之外,还有更好的语言。 (可能这个问题是主观的)但是想收集最好的意见吗?
℃。现在,如果我想模板化结构(通过提供配置文件),以便可以读取和显示不同类型的结构,从哪种语言最好?注意:我的意思是,文件1仅包含结构A数据。文件2包含结构B数据。因此,在读取文件2时,我想加载结构B的结构配置并运行该工具进行显示。
PS:
上述文件实际上是用普通的C应用程序写入文件的(暗示结构及其字段是C基本数据类型属性)。
答案 0 :(得分:1)
一个。 top
有很多实现。其中一些使用curses\ncurses
库。
湾如果没有理由让你的程序从控制台(文本模式)运行,那么当然图形模式,提到的GUI工具包运行,似乎更适合你的需要。这些工具包不是编程语言,而是使用特定语言编写的库(尽管有时使用自己的扩展)。
在这种情况下,我不鼓励Qt,因为它实现了Model/View
可怕(这尤其是你需要的)。对于GTK,有Gnome-DB项目。如果我是你,我会看看Dabo。
℃。我不确定你的配置文件是什么意思,如果你的意思是一些插件系统或解释器,但我认为它将更直接的可解释语言,如Python,Ruby,PHP等。但是,因为你的文件是巨大的,我不确定他们是否坚持没有一些调整。处理这些文件本身就是一个挑战。
还可以选择将文件导出到数据库并使用一些数据库操作软件。
如果您有统计数据,那么您可以查看R和GUI前端,如RKWard。