Mám bash line:
expr substr $SUPERBLOCK 64 8
Což je řádek return to me:
00080000
Vím, že toto je ve skutečnosti 0x00080000 v little-endian. Existuje způsob, jak z toho vytvořit celočíselnou proměnnou v bash v big-endianu, jako je 0x80000?
Přijatá odpověď:
Pravděpodobně lepší způsob, jak to udělat, ale přišel jsem s tímto řešením, které převádí číslo na desítkové a poté zpět na šestnáctkové (a ručně přidá 0x
):
printf '0x%x\n' "$((16#00080000))"
Což můžete napsat jako:
printf '0x%x\n' "$((16#$(expr substr "$SUPERBLOCK" 64 8)))"