Ich habe die Bash-Zeile:
expr substr $SUPERBLOCK 64 8
Welches ist die Zeichenkette zurück zu mir:
00080000
Ich weiß, dass dies eigentlich ein 0x00080000 in Little-Endian ist. Gibt es eine Möglichkeit, Integer-Variablen daraus in Bash in Big-Endian wie 0x80000 zu erstellen?
Akzeptierte Antwort:
Wahrscheinlich ein besserer Weg, dies zu tun, aber ich habe mir diese Lösung ausgedacht, die die Zahl in eine Dezimalzahl und dann wieder in eine Hexadezimalzahl konvertiert (und den 0x
manuell hinzufügt ):
printf '0x%x\n' "$((16#00080000))"
Was Sie schreiben könnten als:
printf '0x%x\n' "$((16#$(expr substr "$SUPERBLOCK" 64 8)))"