Hallo Leute.
Ich habe hier derzeit ein kleines Problem. Ich habe einen Wert aus einer Bitmaske den ich in Dezimal umrechnen will. Das Ergebnis eines bestimmten Shellbefehls (nvram) schaut z.b. so aus:
g%00%00%00
Mittels folgendem Codes erhalte ich die Zahl "103". Was auch korrekt ist.
1 2 3 4 | csr=`nvram -p 2> /dev/null |grep "csr-" | cut -c 19` c_csr2=`echo -n $csr 2> /dev/null | perl -pe 's/(.)/sprintf("%x", ord($1))/eg'` c_csr=`echo $((16#$c_csr2))` echo $c_csr |
Dies funktioniert ebenfalls für diese Werte:
w%00%00%00, P%00%00%00, 0%00%00%00
Nun habe ich aber noch Werte die am Anfang anders aussehen. Z.b so:
%14%00%00%00 oder %10%00%00%00
Dies funktioniert mit obigem Script aber nicht. Wie kann ich diese Art von Werten in eine Dezimalzahl umwandeln?