#/bin/bash

cat $1 | \
    sed -E 's/ /: /' | \
    cut -c 1-59 | \
    sed -E 's/ (..) (..)/ \1\2/g' | \
    sed 's/  / /g' | \
    grep ': '  | \
    xxd -r > $2

# real hexdump -C has a trailing file size, but it isn't always
# present
hexsize=$(tail -1 $1)
if [ ${#hexsize} = 8 ]; then
    decsize=$(printf '%d' $hexsize)
    echo "truncate up to $decsize"
    truncate --size $decsize $2
fi
