2017-03-16 2 views
0

さて、別の質問があります。私は、いくつかのセンサーでrasperry piで温度を収集します。 bashスクリプトは、その日のログファイルwhatever_ $ day.logを書き込みます。それは(日付、時間、SENSOR1、SENSOR2、sensor3)のようになります。複数列のログからBASH/PHPを取得する

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 

一方、私が知っている、PHPで最小値、最大値、平均値を取得する方法(ありがとう!) - しかし、この唯一の作品1 colum(一つだけの温度)とのシンプルなログファイル:

$temperatures = file($file, FILE_IGNORE_NEW_LINES); 
$min = min($temperatures); 
$max = max($temperatures); 
$average = array_sum($temperatures)/count($temperatures); 

が、私は、ログ・ファイルの数十を作成したり、すべてのセンサーおよびすべての最大/最小/ Av値のための要求を行うことがないようにしたい、私はちょうど1つのログをしたいですBashやPHPスクリプトで一日の最大/最小/平均値を読み込み/作成し、値を別のログファイルに保存します([eg.: $day $min $max $average [append to >>] $month_sensor1.log]のように毎月のログ)。 PHPlotを使ってダイアグラム/グラフを作成するための値を入力します。

しかし、私は[read whatever_$day.log and collect the second temperatur-value ~ $temperature[2] column and create the max/min/average values and save them into $maximum/$minimum/$average]などのような列でログファイルを読む方法を理解していません。私はソートなどでここにいくつかの提出物を読んでいますが、正直言って私は完全に失われています。これは私の小さなプログラマーではない脳のためには大きすぎます。/o \

アイデア?先生に感謝し、私の低レベルの英語のために申し訳ありません!

答えて

0

ファイル形式が自動処理には適していません。 '、'または ';'を使用する方が良いでしょう。デリミタとして。次に、split関数をPHPで使用して、作業できる配列に1行を分割することができます。値の間に常に2つの空白がある場合は、現在の書式を使用できますが、何か問題が生じた場合はデバッグするのが難しくなります。

関連する問題