使用string(命令)只能find英文单词

我的问题简而言之就是我想要在二进制文件上运行“string”时输出的英文单词列表。 目前我运行它的文件在屏幕上丢弃了很多垃圾,而我只对单词有兴趣。

在这里打了一圈后,我看到grep -f伴随着一个Linux字典文件将做我想要的,但它是缓慢的

有没有更快的select,还是真的很难匹配英文单词?

匹配起来并不困难,问题在于你是否将一个可能很长的列表与一个很长的列表进行匹配。 这需要很长的时间,只是由于必须进行大量的比较。

当Grep知道它只匹配固定的string时,可以使用更快的匹配algorithm(vs正则expression式)。 通过提供-F参数或使用fgrep命令来启用此行为。

完整的命令是:

 strings fileToScan | grep -F -f /usr/share/dict/words 

假定字典文件存在于/ usr / share / dict / words