#/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