Linux Shell – Konvertieren von Textdatei in Decimal

Das letztes Wochenende hat uns unsere Wetterstation ein wenig in Arbeit gehalten. Ein TCP-RAW Stream überträgt zyklisch die Werte und erstellt damit eine Datei auf Seite des Servers. Diese Datei wird dann zerlegt und verschiedene nummerische Werte werden weiterverarbeitet.

Probelm hierbei: Beim übertragen der Datei erhalten alle Zeilen ein „r“ am Ende. Beim einlesen dieser Strings im Shell-Script wurden dann die Fehlermeldung „illegal character: ^M“ häufig ausgegeben.

Ein einfaches Konvertieren war deshalb nicht möglich, es musste auf einen Trick zurückgegriffen werden:

temp_num=$(echo "$temp_str" | tr -d $'r')

Durch den Befehl

tr -d $'r'

wird das „r“ am Ende des Strings einfach entfernt. Dadurch konnte auch die Konvertierung problemlos vollzogen werden.

 


Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert