linux – 对一个大文件grep一个大的列表

linux – 对一个大文件grep一个大的列表,第1张

概述我目前正在尝试使用更大的csv文件(3.000.000行)来填写大量的ids(〜5000). 我想要所有的csv行,包含id文件中的一个id. 我天真的做法是: cat the_ids.txt | while read linedo cat huge.csv | grep $line >> output_filedone 但这永远是永远! 这个问题有更有效的方法吗? 尝试 grep -f 我目前正在尝试使用更大的csv文件(3.000.000行)来填写大量的IDs(〜5000).

我想要所有的csv行,包含ID文件中的一个ID.

我天真的做法是:

cat the_IDs.txt | while read linedo  cat huge.csv | grep $line >> output_filedone

但这永远是永远!

这个问题有更有效的方法吗?

解决方法 尝试
grep -f the_IDs.txt huge.csv

此外,由于您的模式似乎是固定的字符串,提供-F选项可能会加快grep.

-F,--fixed-strings          Interpret PATTERN as a  List  of  fixed  strings,separated  by          newlines,any  of  which is to be matched.  (-F is specifIEd by          POSIX.)
总结

以上是内存溢出为你收集整理的linux – 对一个大文件grep一个大的列表全部内容,希望文章能够帮你解决linux – 对一个大文件grep一个大的列表所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:http://outofmemory.cn/yw/1048245.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-25
下一篇2022-05-25

发表评论

登录后才能评论

评论列表(0条)

    保存