BASH/PHP从多列日志获取min/max

BASH/PHP从多列日志获取min/max,php,arrays,bash,multidimensional-array,max,Php,Arrays,Bash,Multidimensional Array,Max,好的,我现在有另一个问题,希望是最后一个问题。我用一些传感器用rasperry pi采集温度。bash脚本在一天中写入日志文件。它看起来是这样的(日期、时间、传感器1、传感器2、传感器3): 同时,我知道如何使用PHP获得最小值、最大值和平均值(谢谢!)——但这只适用于一个具有一个列(只有一个温度)的简单日志文件: 但我想避免创建几十个日志文件,或对每个传感器和每个最大/最小/平均值发出请求,我只需要一天的一个日志文件,在一天结束时用Bash或PHP脚本读取/创建最大/最小/平均值,并将值保存到

好的,我现在有另一个问题,希望是最后一个问题。我用一些传感器用rasperry pi采集温度。bash脚本在一天中写入日志文件。它看起来是这样的(日期、时间、传感器1、传感器2、传感器3):

同时,我知道如何使用PHP获得最小值、最大值和平均值(谢谢!)——但这只适用于一个具有一个列(只有一个温度)的简单日志文件:

但我想避免创建几十个日志文件,或对每个传感器和每个最大/最小/平均值发出请求,我只需要一天的一个日志文件,在一天结束时用Bash或PHP脚本读取/创建最大/最小/平均值,并将值保存到另一个日志文件中(每月日志,如[
例如:$day$min$max$average[附加到>>]$month\u sensor1.log
]。我使用此值创建带有PHPlot的图表

但是我不明白,如何按列读取日志文件,比如[
readwhich_$day.log,然后收集第二个温度值~$temperature[2]列,创建最大/最小/平均值,并将它们保存到$maximum/$minimum/$average
]还有一个。我在这里读到了其他一些关于排序等的文章,但说实话,我完全迷路了,这对我的非程序员的小脑袋来说太大了。/o\


有什么想法吗?非常感谢高级版,抱歉我的英语水平不高!

您的文件格式不适合自动处理。最好使用“,”或“;”作为分隔符。然后您可以使用php中的拆分函数在可以使用的数组中拆分一行。如果val之间始终有两个空格,则可以使用当前格式ues,但如果出现任何问题,它会使调试变得更加困难

2017-03-16  08:15  27.3  25.4  16.8
2017-03-16  08:30  22.2  23.1  14.2
2017-03-16  08:45  24.1  24.3  14.6
2017-03-16  09:00  26.8  23.0  14.7
$temperatures = file($file, FILE_IGNORE_NEW_LINES);
$min = min($temperatures);
$max = max($temperatures);
$average = array_sum($temperatures) / count($temperatures);