grep -f 替代 sed?awk?
file1 = 95000
file2 = 4500000
我想从 file2 中过滤掉 file1 条目。
egrep -f file1 file2
需要很长时间才能完成。 还有其他选择吗? sed? awk?
谢谢
file1 = 95000
file2 = 4500000
I want to filter out file1 entries from file2.
egrep -f file1 file2
takes ages to complete.
Is there an alternative ? sed? awk?
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
当然,您可以使用 awk。将
file2
条目放入数组中。然后迭代file1
,每次都在数组中查找这些条目。尝试这些选项以获得您想要的
sure, you can use
awk
. Putfile2
entries into an array. Then iteratefile1
, each time finding those entries in the array.Play around with these options to get what you want
我不认为 grep -f 真的适合使用这种大小的过滤器文件,因此某种数据库支持的解决方案可能是您最好的选择。
您可以将这两个文件逐行加载到 SQLite 数据库中,然后执行一些简单的 SQL 操作,如下所示:
然后将它们转储回来。您可以使用 SQLite 直接从命令行完成所有这些操作。
I don't think
grep -f
is really meant to work with a filter file of that size so some sort of database backed solution might be your best bet.You could load both files line-by-line into an SQLite database and then do a simple bit of SQL something like this:
and dump them back out. You could do all of that straight from the command line with SQLite.