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: