Разбор файла в формате Intel HEX с помощью sed

Команда для разбора строк файла file.hex:

sed -r "s/^(.*)\r$/\1/g; s/^:(..)(....)(..)(.*)(..)$/\1 \2 \3 \4 \5/g" file.hex

Удачно разбирает файл, если строки в нем завершаются в стиле Unix (символом LF) или в стиле Windows (символами CR+LF).

Если содержимое исходного файла:

:10077600F90FD8E0E4C9FAE4CCFB2275F010EF2FAC
:10078600FFEE33FEED33FDCC33CCC833C810D707AC
:100796009BEC9AE899400AED9BFDEC9AFCE899F8E7
:0E07A6000FD5F0DAE4CDFBE4CCFAE4C8F9227A
:00000001FF

то вывод команды:

10 0776 00 F90FD8E0E4C9FAE4CCFB2275F010EF2F AC
10 0786 00 FFEE33FEED33FDCC33CCC833C810D707 AC
10 0796 00 9BEC9AE899400AED9BFDEC9AFCE899F8 E7
0E 07A6 00 0FD5F0DAE4CDFBE4CCFAE4C8F922 7A
00 0000 01  FF
Реклама