Hallo,
ich möchte mit einem Skript per Telnet einen Feuchtigkeitswert in einen Dummy schreiben. Hierzu habe ich bereits ein kleines Skript geschrieben, was regelmäßig die Werte des Sensors abfragt und in eine Datei schreibt.
Der Inhalt sieht dann etwa so aus:
Raspberry Pi wiringPi DHT22 reader
www.lolware.net
Data not good, skip
Data not good, skip
Humidity = 62.00 % Temperature = 23.00 *C
Nun soll der Humidity-Wert in eine Variable geschrieben werden, um per Telnet in den Dummy zu gelangen.
Per egrep sieht die Ausgabe dann schon so aus:
Humidity = 62.00 % Temperature = 23.00 *C
wie kann ich nun noch mit sed die 62.00 (ohne %) definieren?
egrep -w "Humidity =" humidity | sed ...
Grüße
Roffneg
Ich würde das eher mit awk machen:
Humidity: egrep -w "Humidity =" humidity | awk '{print $3}'
Temp: egrep -w "Humidity =" humidity | awk '{print $7}'
Funktioniert super. Vielen dank!
Sed ist kryptischer (und hat einen privitiveren Regexp als perl):
Humidity: sed -n '/Humidity/s/.* \([0-9.][0-9.]*\) %.*/\1/p' humidity
Temp: sed -n '/Humidity/s/.* \([0-9.][0-9.]*\).*/\1/p' humidity
awk kann auch selbst filtern:
Humidity: awk '/Humidity/{print $3}' humidity
Temp: awk '/Humidity/{print $7}' humidity