Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/250.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.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
Php 如何管理对大量文本文件的搜索_Php_Jquery_Ajax - Fatal编程技术网

Php 如何管理对大量文本文件的搜索

Php 如何管理对大量文本文件的搜索,php,jquery,ajax,Php,Jquery,Ajax,我有大量的IRC日志(~1000个文本文件),每天都有大量的日志文件。我想建立一个工具,使我能够有效地搜索文件 最好的解决方案是从php执行grep命令吗 我正试着让它快点。显然,将数据加载到MYSQL表中会很好,但是当前的日志会不断写入,这意味着它们需要不断地使用SQL来同步文本文件中的数据。如果您愿意学习最有效的技术。我见过的最佳实践是linux控制台bash脚本(默认为bash) 使用本机函数查询文件非常容易 比如,; 在整个文件中搜索字符串。本机函数有大量选项。所有控制台都可以使用正则表

我有大量的IRC日志(~1000个文本文件),每天都有大量的日志文件。我想建立一个工具,使我能够有效地搜索文件

最好的解决方案是从php执行grep命令吗


我正试着让它快点。显然,将数据加载到MYSQL表中会很好,但是当前的日志会不断写入,这意味着它们需要不断地使用SQL来同步文本文件中的数据。

如果您愿意学习最有效的技术。我见过的最佳实践是linux控制台bash脚本(默认为bash)

使用本机函数查询文件非常容易

比如,; 在整个文件中搜索字符串。本机函数有大量选项。所有控制台都可以使用正则表达式。查找文件、移动文件、查询文件内容等

编辑

  • 如果你有苹果。它可以在终端上运行
  • 如果pc是一个带有共享文件夹的虚拟终端,速度很慢,但可以正常工作
  • 但最好的只是一个带有bashshell的linux控制台
  • 由于是一个操作系统,文件操作非常高效
  • 并且它可以在操作的中间执行PHPS文件。
如何使用机器中的多个CPU核,并使用GNU parallel-并行搜索它们

例如:

parallel -n 16 grep -H "some pattern" ::: *.log

将启动并保持并行运行,尽可能多的
grep
s,因为您的CPU中有内核将最多16个文件传递给每个
grep
进行搜索。

您可以将今天的日志写入临时文件,并每天将其移动到数据库。@Pietu1998但这意味着我无法搜索今天的数据,这是我以前需要做的。你可以搜索数据库和临时文件。一个要搜索/grep的文件是可管理的。@Pietu1998是的,我想那会有用的。可以看看logstash