首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Shell脚本的搜索工具

使用Shell脚本的搜索工具
EN

Stack Overflow用户
提问于 2010-12-15 14:00:50
回答 2查看 67关注 0票数 0

我的要求是编写一个工具,它将系统调用列表作为输入,然后在文件列表中搜索这些系统调用的出现。现在,我们已经确定了227个系统调用的列表。文件的数量可能会很大。我现在使用的算法是一个简单的嵌套for循环。可以理解的是,这个程序需要非常非常长的时间来处理。我正在使用shell脚本来实现这一点。

有没有人能建议一个更好/更有效的算法来做这件事?

谢谢你,阿迪亚

EN

回答 2

Stack Overflow用户

发布于 2010-12-15 14:10:34

什么类型的文件?源代码?可执行文件?此外,syscall可以在运行时使用自修改代码构建,并且在许多情况下,syscall是一个通用的内核条目,syscall编号可能是动态的“数据”,那么静态文件分析可能不完整的程度是否有用?

如果你能从文件的其他内容中识别出系统调用的区别,你就可以先检查它,然后通过暴力比较或某种树搜索找出它是哪一个。

另一个想法可能是看看是否可以使用grep来标识一般的系统调用,并输出带有文件名和行号的调用,然后看看是否可以简单地按系统调用对其进行排序。

您可能还想考虑使用像perl这样的语言,它具有一些很好的散列相关功能。

票数 0
EN

Stack Overflow用户

发布于 2010-12-15 19:40:10

您的系统调用将位于一个名为calls的文件中,每行一个。您的文件列表位于一个名为list_of_files的文件中,每行一个。

代码语言:javascript
复制
cat list_of_files | xargs grep -f calls
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4447144

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档