LINUX.ORG.RU

Hex редактор со скриптами???


0

0

Имеется файл >100MB он побит на блоки, каждый блок начинается с определнной метки.

  ___метка__       __номер__  __промежуток__   _номер2_    __данные_   _end_
 |                 |      |                | |                           | |                |  |                  | |        |
12 34 56 78 00 11 11 11 11 00 00 00 00 00 00 ab cd ef gh   nn nn nn nn  00 00

Нужно прибавить к секции "промежуток" "00 00" в результате начало следующего блока сдвинется вот так:

12 34 56 78 00 11 11 11 11 00 00 00 00 00 00 00 00 ab cd ef gh   nn nn nn nn 
00 00 12 34 56 78 00 11 11 11 11 00 00 00 00 00 00 ab cd ef gh   nn nn nn nn 
00 00

Но этого не нужно, нужно также откинуть четыре нуля перед началом следующего блока.

Все это можно сделать и руками, "найти метку, отсчитать позицию до начала этих нулей, вручную ввести итд... но потребуется очень много времени.

Вопрос такой можно ли это сделать, подозреваю что на перле можно, но к сожалению с перлом не знаком, только с баш-скриптами.
anonymous

Самое время познакомиться с sed. И просто заменить четыре нуля, идуших подряд, на шесть. Если, конечно, четыре нуля подряд не встречаются в метке и номере.

anonymous
()
Ответ на: комментарий от amoralyrr

Ну и как ему задать найти например 35 26 A7 BA

anonymous
()

Конвеер c sed'ом и xxd нужен сдесь.

marsijanin ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.