ripgrep没有在大文件中出现所有事件

时间:2017-05-05 08:35:08

标签: search grep

我正试图将所有事件都放在大文件中(37GB)。 但它并没有给我所有结果。如何在ripgrep搜索中修复它?

rg "drive" file_name.txt -c
5673

// to compare:
sift "drive" file_name.txt -c
342894

grep "drive" file_name.txt -c
342894

更新

的MacOS

1 个答案:

答案 0 :(得分:0)

使用--mmap

可以获得正确的结果
rg 'drive' file_name.txt -c --no-mmap
5673
rg 'drive' file_name.txt -c --mmap
342894

但是在macbook pro 8GB上花了165秒(在57秒内进行了筛选)

<强>更新

原因在于<NUL>文字。在这种情况下,rg 123 -c file_name.txt停止进一步工作并且不返回任何内容。 grep返回3.您可以获取此文件there enter image description here

<强>更新

由于<NUL>,文件被检测为二进制文件。所以rg -a ...解决了这个问题。 现在速度更快(45秒),相同-a的筛选非常接近(48秒)。 感谢@ BurntSushi5 for ripgrep!