【发布时间】:2017-04-27 10:56:15
【问题描述】:
您好,我想检查一个文件中包含的一组单词(字母数字)是否在另一个包含一组单词的文件中。
就像我有一个文件:f1.txt(20K 大小)
w1
w2
w3
w4
.. //more ids like this
另一个文件 f2.txt(120 K 大小)
q1
q2
q3
q4
q5
q6
q7
q8
w2
所以我想检查“f2.txt”中存在“多少”和“f1.txt”中的“哪些”id
我希望输出是这样的:
1
w2
我知道这很简单,可以使用循环来完成。我想知道我们是否可以使用 bash 脚本来做到这一点,使用“grep”n all。由于这很快,我主要想分析数据。 Python 也可以。
感谢任何潜在客户。
【问题讨论】:
-
awk 可能是最快的方法(除非你用 C 或其他编译语言编写了一些东西),尽管如果你对 f1 数据使用集合,Python 会很快。绝对不要尝试使用解析 f1 并将该数据用于 grep f2 的 Bash 脚本来执行此操作,这会相当慢,而且它是 bad practice to use a shell loop to process text。
标签: python linux bash search command-line