GNU/Linux >> Znalost Linux >  >> Linux

Existuje nástroj jako hexdump, který zvládne nenativní endianness?

Minimálně pro 16bitová slova to lze propojit přes dd conv=swab jako v,

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

Existuje nástroj jako hexdump, který zvládne nenativní endian-ness?

Ano, nástroj se jmenuje Perl.

Vlastně Data::HexDumper – i když byste mohli hodit své vlastní.

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

Jak pixelbeat navrhuje, můžete použít objcopy:

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

kde num je 2 pro 16bitová slova, 4 pro 32bitová slova a 8 pro 64bitová slova.

Bohužel objcopy nemá možnost přijmout vstup z stdin nebo zapište výstup do stdout , takže abyste jej mohli použít jako kanál, museli byste napsat obalový skript, který vytvoří dočasné soubory.

Tato odpověď je zkopírována z https://stackoverflow.com/a/19288235/1979048 a z https://serverfault.com/a/329207/157443.


Linux
  1. Jak bude technologie vypadat za 30 let?

  2. Top 5 nejlepších linuxových distribucí, které vypadají jako MacOS

  3. Jak přejmenovat soubory konkrétně v seznamu, který bude Wget používat?

  1. Výukový program Unix Bash Alias ​​– Zvládejte příkazy Alias ​​jako Jennifer Garner

  2. Existuje nějaký program jako COM0COM v linuxu?

  3. Kde mohu nastavit proměnné prostředí, které bude crontab používat?

  1. Existuje linuxový příkaz jako mv, ale s regulárním výrazem?

  2. Existuje protokol, který zaznamenává vypnutí v Linuxu?

  3. Existuje linuxový vfs nástroj, který umožňuje svázat adresář na jiném místě (jako mount --bind) v uživatelském prostoru?