summaryrefslogtreecommitdiffstats
path: root/src/script/unhexdump-C
blob: b4e7559734784a4050c0677fc1d8c0a48bd8445c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#/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