#!/bin/bash # # Quick and dirty script to insert a slice into a binary file # Copyright (C) 2016 Hamish Coleman # # TODO: # - a tool that is portable to Windows # - should output dependancy information INFOFILE="$1" if [ ! -r "$INFOFILE" ]; then echo Need file with source and offset info exit 1 fi shift INPUT="$1" if [ -z "$INPUT" ]; then echo Need input filename exit 1 fi shift OUT="$1" if [ -z "$OUT" ]; then echo Need output filename exit 1 fi read SOURCE OFFSET LENGTH <"$INFOFILE" set -x cp --reflink=auto $SOURCE $OUT dd status=none if=$INPUT bs=$[$LENGTH] count=1 | dd status=none conv=notrunc bs=$[$OFFSET] seek=1 of="$OUT"