Tengo la línea bash:
expr substr $SUPERBLOCK 64 8
Que es volver a mí línea de cadena:
00080000
Sé que esto es, en realidad, un 0x00080000 en little-endian. ¿Hay alguna forma de crear una variable entera a partir de ella en bash en big-endian como 0x80000?
Respuesta aceptada:
Probablemente sea una mejor manera de hacer esto, pero se me ocurrió esta solución que convierte el número a decimal y luego a hexadecimal (y agrega manualmente el 0x
):
printf '0x%x\n' "$((16#00080000))"
Que podrías escribir como:
printf '0x%x\n' "$((16#$(expr substr "$SUPERBLOCK" 64 8)))"