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.
Jak se oprávnění k souboru vztahují na symbolické odkazy?
Je algoritmus pro kopírování souborů (Ubuntu) Linux lepší než Windows 7?