используя bash: записать битовое представление целого числа в файл
У меня есть файл с двоичными данными, и мне нужно заменить несколько байтов в определенной позиции. Я придумал следующее, чтобы направить bash в смещение и показать, что он нашел место, которое я хочу:
dd bs=1 if=file iseek=24 conv=block cbs=2 | hexdump
Теперь, чтобы использовать «файл» в качестве вывода:
echo anInteger | dd bs=1 of=hextest.txt oseek=24 conv=block cbs=2
Кажется, это работает просто отлично, я могу просмотреть изменения, внесенные в шестнадцатеричном редакторе. Проблема в том, что «anInteger» будет записан как ASCII-представление этого целого числа (что имеет смысл), но мне нужно написать двоичное представление.
Я хочу использовать bash для этого, и скрипт должен работать на как можно большем количестве систем (я не знаю, будет ли на целевой системе установлен python или какой-либо другой).
Как мне сказать команде преобразовать ввод в двоичный файл (возможно, из шестнадцатеричного числа)?