Вывод десятичного значения в виде двух шестнадцатеричных байтов с прямым порядком байтов в файл - PullRequest
0 голосов
/ 19 сентября 2019

Мне нужна команда bash, которая выполняет следующие действия:

Создать новый файл, в котором два первых байта содержат необработанные шестнадцатеричные байты (не ASCII) значения (начальный адрес)в этом случае).То есть 49152 должно быть записано в файл как 00 c0.

Я пробовал несколько комбинаций printf, xxd, fold, tac/cat и т. Д.

printf "%X\\n" 49152 | fold -w2|tac|tr -d "\n" 

Это дает мне представление ASCII о том, что мне нужно, а не необработанные байты HEX.

1 Ответ

0 голосов
/ 19 сентября 2019
value=49152
printf "\x$(printf %x $(($value-$value/256*256)))\x$(printf %x $(($value/256)))" > file.txt

hexdump -C file.txt 

Выход:

00000000  00 c0                                             |..|
00000002
...