Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Search ripgrep无法获取大文件中的所有事件_Search_Grep - Fatal编程技术网

Search ripgrep无法获取大文件中的所有事件

Search ripgrep无法获取大文件中的所有事件,search,grep,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使用--mmap可以得到正确的结果 但它在MacBookPro 8GB上花费了165秒(当sift在57秒内完成时) 更新 原

我正在尝试获取大文件(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

使用--mmap可以得到正确的结果

但它在MacBookPro 8GB上花费了165秒(当sift在57秒内完成时)

更新

原因在文本中的
中。在这种情况下,
rg123-c file_name.txt
停止进一步工作,不返回任何内容<代码>grep返回3。你可以得到这个文件

更新

由于
的原因,文件被检测为二进制文件。因此,
rg-a…
修复了这个问题。 现在它更快了(45秒),并且用相同的
进行筛选-a
非常接近(48秒)。
感谢@BurntSushi5提供的ripgrep

你的操作系统是什么?你试过常规的GNU grep吗?我想这可能与一些限制有关(比如,我想是吧,我想是吧,罗曼哈雷,我理解的对):(sift搜索器在处理大文件时也有问题-github.com/ggreer/the siver搜索器/issues/1038,所以sift是目前最好的)没有“ripgrep限制”这可能会导致这种情况。请在ripgrep问题跟踪器上提交一个bug,并请包含足够的信息供其他人复制。例如,找到一个较小的文件进行搜索,以获得相同的一致性。如果您没有提供足够的信息来复制您的问题,则没有人可以回答您的问题。ripgrep与big-fi没有相同的问题les作为silver searcher。请注意,您正在搜索一个不适合RAM的文件,因此您在此处报告的时间可能会产生误导。例如,如果您在运行ripgrep后运行sift,则文件的一部分可能已经在内存中,这将使sift搜索更快。还有其他一些事情可以实际影响tim例如,在这种规模下,如果其他东西占用了您的磁盘带宽,那么这也会导致时间波动。@BurntSushi5,在我安装ripgrep之前,我对该文件使用过多次sift(并且速度相同)。对,但是如果其他东西占用了磁盘带宽(或者如果您的文件缓存发生了更改),那么这可能会导致特定的ripgrep执行变慢。
-a
使ripgrep更快的想法支持这样的想法,即您的基准测试……至少可以说很奇怪。最后,请注意,如果您删除
-c
标志,那么grep和sift将简单地报告“二进制文件匹配”我在同一个ssd上多次调用rg和sift查找同一个文件(在一天中的不同时间使用不同的应用程序运行约50次),结果总是非常接近(45-48秒)。使用
-a
。这只是我的经验,不是专业的基准测试:)
rg 'drive' file_name.txt -c --no-mmap
5673
rg 'drive' file_name.txt -c --mmap
342894