怎么通过shell命令 向二进制文件末尾添加字节

如题所述

最近需要在一个二进制文件的前面添加一个header, 网络上大体搜索了一下, 没有得到答案。于是自己找到一个办法, 有点土,但是能用。放在这里,供参考。

如下就是我的脚本:
#!/bin/sh
output=obm.bin
rm $output

#firstly generate a header
header=0x0008ffbb
header1=`expr substr $header 9 2`
header2=`expr substr $header 7 2`
header3=`expr substr $header 5 2`
header4=`expr substr $header 3 2`
echo -n -e "/x${header1}" > $output
echo -n -e "/x${header2}" >> $output
echo -n -e "/x${header3}" >> $output
echo -n -e "/x${header4}" >> $output
#now add obm.bin
cat ../build/$output >> $output

说明:利用echo 的扩展功能, 可以一次往一个二进制文件输入一位或者两位 16进制数字。 我们把需要输入的 header 分解出来, 分别输出到二进制文件, 从而达到目的。
温馨提示:答案为网友推荐,仅供参考