У меня есть файл с двоичными данными, и мне нужно заменить несколько байтов в определенной позиции. Я придумал следующее, чтобы направить 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 для этого, а script должен запускаться как можно больше систем (я не знаю, будет ли у целевой системы питон или что-то еще установлено).
Как сообщить команде преобразовать вход в двоичный файл (возможно, из шестнадцатеричного)?