加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

bash – grep -vf对大文件来说太慢了

发布时间:2020-12-15 21:35:36 所属栏目:安全 来源:网络整理
导读:我正在尝试使用存储在文件filter.txt中的模式从data.txt过滤数据.如下, grep -v -f filter.txt data.txt op.txt 对于filter.txt中的30-40K行和data.txt中的~300K行,这个grep需要10-15分钟. 有没有办法加快这个? data.txt中 data1data2data3 filter.txt data
我正在尝试使用存储在文件filter.txt中的模式从data.txt过滤数据.如下,

grep -v -f filter.txt data.txt > op.txt

对于filter.txt中的30-40K行和data.txt中的~300K行,这个grep需要10-15分钟.

有没有办法加快这个?

data.txt中

data1
data2
data3

filter.txt

data1

op.txt

data2
data3

这适用于codeforester提供的解决方案,但是当filter.txt为空时失败.

解决方法

根据 related帖子中的 Inian’s解决方案,这个awk命令可以解决您的问题:

awk 'FNR==NR {hash[$0]; next} !($0 in hash)' filter.txt data.txt > op.txt

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读