[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: DD или другие альтернативы, заменить область файла



On Wed, 25 Dec 2013, Dmitriy Sirant wrote:

Добрый день

Казалось бы простая нужда, но сделать не удалось.

Есть бинарный файл, в котором произвольные данные в диапазоне 0x00040000 -> 0x0017FFFF необходимо заменить на 0xFF

Берем dd и делаем следующее:
printа 0xFF | dd bs=1 seek=0x00040000 count 1310719 conv=notrunc if=source.bin of=dest.bin

Получаем практически то что нам надо, но все 0xFF которые были до в исходном файле до оффсета 0x00040000 стали 0x00, те что в нужном мне диапазоне остались как и были. Возможно поменяло и после диапазона, не проверял. В исходном файле присутствуют как 0xFF так и 0x00


  Вы пытаетесь на вход dd подсунуть два потока 1) printa (кстати, что
  это такое?) 2) if=source.bin
  Честно говоря, я бы на месте dd обиделся бы.

  Надо просто скопировать source.bin в dest.bin, а затем

  pv /dev/zero | tr \\000 \\377 | \  # это вместо printа 0xFF
  dd bs=1 seek=0x00040000 count 1310719 conv=notrunc of=dest.bin

  как раз и получится, что надо.
 Ю.

Reply to: