Hilfe bei awk. Nur bestimmte zeichen löschen
Posted: 2015-04-30 14:15
Hallo,
ich bin relativ neu in der Szene und habe mir einen Raspberry zugelegt mit dem ich die Temperatur auslesen kann.
Sobald die Temperatur zu hoch wird soll er mich über ein anderes Programm warnen, aber das ist ein anderes Thema.
Mein Problem ist folgendes:
Wenn ich die Temperatur auslesen möchte erhalte ich immer
"Found 1 devices
Device #0: 28.4°C 83.2°F"
als Ausgabe. An sich ist das auch alles in Ordnung. Nun muss ich aber nur einen gewissen Teil davon haben. Nämlich genau die 28,4.
In meinem Script kommt der Teil vor:
temp=`sudo /usr/local/bin/temper-poll | tail -n 1 | awk -F" " '{print $3}'`
Soweit klappt auch alles. Die erste Zeile wird gelöscht und ich erhalte nur den Wert an dritter Stelle, nämlich genau die 28,4°C.
Nun ist die Frage wie bekomme ich das °C weg?
Ich habe es schon mit
IFS='°'
temp=`awk {print $0} < temp`
versucht, aber irgendwie führt das alles zu keinem Erfolg.
Der komplette Code lautet:
Weiß jemand von euch Rat?
ich bin relativ neu in der Szene und habe mir einen Raspberry zugelegt mit dem ich die Temperatur auslesen kann.
Sobald die Temperatur zu hoch wird soll er mich über ein anderes Programm warnen, aber das ist ein anderes Thema.
Mein Problem ist folgendes:
Wenn ich die Temperatur auslesen möchte erhalte ich immer
"Found 1 devices
Device #0: 28.4°C 83.2°F"
als Ausgabe. An sich ist das auch alles in Ordnung. Nun muss ich aber nur einen gewissen Teil davon haben. Nämlich genau die 28,4.
In meinem Script kommt der Teil vor:
temp=`sudo /usr/local/bin/temper-poll | tail -n 1 | awk -F" " '{print $3}'`
Soweit klappt auch alles. Die erste Zeile wird gelöscht und ich erhalte nur den Wert an dritter Stelle, nämlich genau die 28,4°C.
Nun ist die Frage wie bekomme ich das °C weg?
Ich habe es schon mit
IFS='°'
temp=`awk {print $0} < temp`
versucht, aber irgendwie führt das alles zu keinem Erfolg.
Der komplette Code lautet:
Code: Select all
#!/bin/bash
while true
do
temp=`sudo /usr/local/bin/temper-poll | tail -n 1 | awk -F" " '{print $3}'`
IFS='°'
temp=`awk {print $0} < temp`
echo $temp >>Temperatur.txt
sleep 60
done
Weiß jemand von euch Rat?