• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst] Zeichenkette mittels Bash-Script ersetzen

mp3

Newbie
Hallo Forum!
Ich bin mir nicht sicher, ob ich hier richtig bin, im Zweifelsfalle sorry.
Also, ich habe eine Zeichenkette, welche mir eine Temperatur anzeigt:
Diese sieht z.B. so aus:
+ 5,0
oder so:
+120,0
oder so:
+ 49,5
oder so:
- 1,5
oder so:
- 10,0
Dieser String besteht also immer aus 6 Zeichen. Zur Weiterverarbeitung würde ich gern die Leerzeichen und das + entfernen, so dass folgende, in diesem Falle variable Stringlängen entstehen.
+ 5,0 abändern zu: 5,0
+120,0 abändern zu: 120,0
+ 49,5 abändern zu: 49,5
- 1,5 abändern zu: -1,5
- 10,0 abändern zu: -10,0

Ich hoffe, ich habe die Problematik verständlich dargestellt.
Leider kenne ich mich in der Erstellung von Scripten noch nicht so gut aus.

Vielen Dank schon jetzt.
 
A

Anonymous

Gast
mp3 schrieb:
ich habe eine Zeichenkette,
und wo befindet sich diese?

und wohin willst du mit dem Ergebnis ?

ansonsten
Code:
echo " + 1,234     "  | sed 's/ \|\+//g'
dort wo im Beispiel " + 1,234 " steht, müsstest du nur die Zeichenkette die du hast einsetzen.

robi
 

framp

Moderator
Teammitglied
robi schrieb:
Code:
sed 's/ \|\+//g'
Da ich heute mal meinen ErklärbärTag habe :roll:
Das bedeutet dass bei der Zahl alle Spaces (' ') bzw '+' (verknüpft mit oder ( | ) durch // (bedeutet 'nichts' - also bewirkt das Löschen) ersetzt werden :D
 
OP
M

mp3

Newbie
Vielen Dank, hat prima funktioniert.
Hier die Hintergründe:
Dieser Temperaturwert ist in einem jpg einer Kamera eingeblendet. Die Kamera selbst bietet keine Möglichkeit, diesen Wert einzeln bereitzustellen.
Jede Stunde "zieht" sich mein neues Script nun ein aktuelles Bild. Aus dem Header wird der Temperaturwert ermittelt und, wie oben beschrieben, zur Weiterverarbeitung zur Verfügung gestellt. Das Bild wird danach gelöscht.
Dieser Wert wird mit anderen gegenwärtig in eine Textdatei geschrieben. Das Ganze sieht dann folgendermaßen aus:
Thu Dec 15 15:01:02 CET 2011: 25 34 35 35 20.38 6,0
Thu Dec 15 16:01:03 CET 2011: 25 34 35 35 20.31 5,5
Thu Dec 15 17:01:02 CET 2011: 25 34 35 35 20.38 6,0
Thu Dec 15 18:01:03 CET 2011: 25 34 35 35 20.38 6,0
Thu Dec 15 19:01:02 CET 2011: 24 34 34 35 19.81 6,0
Thu Dec 15 20:01:03 CET 2011: 25 34 34 35 20.31 6,0
Thu Dec 15 21:01:02 CET 2011: 25 34 34 35 20.31 6,0

Die ersten 4 Werte sind die Temperaturen meiner Serverfestplatten, dann die Bürotemperatur und schließlich die Aussentemperatur.
Langfristig müssen die Werte natürlich in einer Datenbank gespeichert werden. Ich habe mich derweil mit "rrdtool" beschäftigt. Ich glaube, dass könnte was werden.
Sollte jemand Anregungen oder Ideen dazu haben, wäre ich für Hinweise dankbar.

Besten Gruß
 
Oben