Ho la linea bash:
expr substr $SUPERBLOCK 64 8
Che è la riga della stringa di ritorno a me:
00080000
So che questo è, in realtà, uno 0x00080000 in little-endian. C'è un modo per creare una variabile intera da esso in bash in big-endian come 0x80000?
Risposta accettata:
Probabilmente un modo migliore per farlo, ma ho trovato questa soluzione che converte il numero in decimale e poi di nuovo in esadecimale (e aggiunge manualmente 0x
):
printf '0x%x\n' "$((16#00080000))"
Che potresti scrivere come:
printf '0x%x\n' "$((16#$(expr substr "$SUPERBLOCK" 64 8)))"