[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Datei mit Hexwerten in Dez umwandeln



Am Samstag, den 10.11.2012, 13:02 +0100 schrieb Frank Lassowski:
> Moin Leute,
> 
> ich erzeuge mittels
> 
> $ sudo hcidump -R | cut -b42-49 > acc.txt
> 
> und anschließendem
> 
> $ sed = acc.txt | sed 'N;s/\n/\ /' > acc.log
> 
> eine Datei mit Zeilen folgenden Inhaltes
> 
> 1 7E 7B 9F
> 2 7D 7C 9B
> ...
> 
> Das sind die Beschleunigungswerte einer Wiimote. Ich möchte die mit
> gnuplot nun grafisch darstellen, aber dazu muss der Kram ja wohl in
> Dezimalwerte umgewandelt werden.
> 
> Am geschicktesten wäre das ja, wenn das beim sed-Aufruf gleich miterledigt
> wird. Geht das?

sed ist ein Streameditor und kann IMHO nicht rechnen.
Versuch mal folgendes:

for i in $(sed 'N;s/\([[:digit:]]*\)\n\([[:xdigit:]]*\) \([[:xdigit:]]*\) \([[:xdigit:]]*\)/\1 0x\2 0x\3 0x\4/' acc.txt) ; do
    echo -n "$(($i)) " > acc.log
done
echo "" > acc.log

Vorausgesetzt die erste Zahl ist dezimal und nur die folgenden 3 in
hexadezimal.
Sollte die erste Zahl auch hexadezimal sein, muß dieser ebenfalls ein
'0x' vorangestellt werden.
Die Umwandlung übernimmt die bash indem die Hexzahlen in einen
arithmetischen Kontext verwendet werden.

-- 
mfG Sascha

Politiker in Talkshows sind die schwierigsten Kunden. Sie reden nur in
gestanzten Floskeln. Man muß sie reizen, damit sie aus der
Redner-Dienstjacke herausschlüpfen.
		-- Erich Böhme

Attachment: signature.asc
Description: This is a digitally signed message part


Reply to: