GNU/Linux >> Linux Esercitazione >  >> Linux

Esiste un'utilità come hexdump che gestirà l'endianità non nativa?

Almeno per le parole a 16 bit si può reindirizzare attraverso dd conv=swab come in,

cat file.dat | dd conv=swab | od -t x2

Esiste un'utilità come hexdump che gestirà l'endianità non nativa?

Sì, l'utilità si chiama Perl.

Beh, in realtà Data::HexDumper, anche se potresti crearne uno tuo.

number_format
A string specifying how to format the data. It can be any of the following,
which you will notice have the same meanings as they do to perl's pack function:

C        - unsigned char
S        - unsigned 16-bit, native endianness
v or S<  - unsigned 16-bit, little-endian
n or S>  - unsigned 16-bit, big-endian
L        - unsigned 32-bit, native endianness
V or L<  - unsigned 32-bit, little-endian
N or L>  - unsigned 32-bit, big-endian
Q        - unsigned 64-bit, native endianness
Q<       - unsigned 64-bit, little-endian
Q>       - unsigned 64-bit, big-endian

Come suggerisce pixelbeat, potresti usare objcopy:

$ objcopy -I binary -O binary --reverse-bytes=num inputfile.bin outputfile.bin

dove num è 2 per parole a 16 bit, 4 per parole a 32 bit e 8 per parole a 64 bit.

Sfortunatamente objcopy non ha alcuna opzione per accettare l'input da stdin o scrivi l'output in stdout , quindi per usarlo come pipe dovresti scrivere uno script wrapper che crei file temporanei.

Questa risposta è copiata da https://stackoverflow.com/a/19288235/1979048 e da https://serverfault.com/a/329207/157443.


Linux
  1. Come sarà la tecnologia tra 30 anni?

  2. Le 5 migliori distribuzioni Linux che assomigliano a MacOS

  3. Linux:Linux diventerà Unix, invece di essere semplicemente Unix come ??

  4. Esistono programmi come COM0COM in Linux?

  5. Esiste un comando linux come mv ma con regex?

Esiste un'utilità per creare immagini vuote?

auditd execve argomenti che sembrano dati codificati

C'è qualcosa che genererà i suoni di clic della tastiera?

Esiste una distribuzione Linux certificata UNIX?

Come aggiungere un messaggio che verrà letto con dmesg?

C'è un modo per fare un ls remoto proprio come scp fa una copia remota?