bash: écrire représentation binaire de l'entier de fichier

J'ai un fichier avec des données binaires et j'ai besoin de remplacer quelques octets dans une certaine position. Je suis venu avec la suite directe de bash à l'offset et de me montrer qu'il a trouvé l'endroit que je veux:

dd bs=1 if=file iseek=24 conv=block cbs=2 | hexdump

Maintenant, utiliser "fichier" en tant que sortie:

echo anInteger | dd bs=1 of=hextest.txt oseek=24 conv=block cbs=2

Cela semble fonctionner très bien, je peux passer en revue les modifications apportées à un éditeur hexadécimal. Problème est, "anInteger" sera écrit que la représentation ASCII de l'entier (ce qui est logique) mais j'ai besoin d'écrire la représentation binaire.

Je veux utiliser bash pour cela et le script doit s'exécuter sur autant d'ordinateurs que possible (je ne sais pas si le système cible aura python ou que ce soit installé).

Comment dois-je dire à la commande pour convertir l'entrée binaire (éventuellement à partir d'un hex)?

Vous souhaiterez peut-être utiliser xdelta pour cela - c'est assez commun qu'il peut être "universel" pour vous.
Pas sûr de ce que tu veux dire par "xdelta". Il n'y a pas de commande sur ma coquille...
xxd -r est conçu à cet effet
Oui. Voir stackoverflow.com/a/8199163/219324.

OriginalL'auteur Max Leske | 2010-04-30