首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从文件中提取包含大量字符串之一的行

问从文件中提取包含大量字符串之一的行
EN

Stack Overflow用户
提问于 2013-02-27 18:48:18
回答 2查看 377关注 0票数 0

假设我有一个包含10,000,000行的文件数据。我有另一个带有100000个字符串的文件IDS。我希望从包含IDS字符串之一的数据中提取所有行。另一个条件是文件之间存在1:1的关系,因此每个ID都有一行数据,每个数据都有一个ID。

使用标准的linux命令行实用程序,最有效、最简单的方法是什么?

到目前为止,我的想法:

  1. 构建一个巨大的regex并使用grep (容易,可能超出grep内的一些限制)
  2. 逐行检查IDS和每个字符串的grep数据,合并结果。(容易,可能效率很低)
  3. 在python中构建IDS的hashmap,遍历数据,提取ID并对照散列图进行检查(有点困难)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-02-27 18:59:11

代码语言:javascript
复制
grep -F -f IDS DATA

不要错过-F:它阻止将IDS解释为正则表达式,并启用了一个更高效的Aho算法。

票数 3
EN

Stack Overflow用户

发布于 2013-02-27 18:55:08

如果IDS包含您需要在数据中找到的确切字符串,每行一个字符串,请尝试使用

代码语言:javascript
复制
grep --file=IDS DATA > results
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15119885

复制
相关文章

相似问题

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