From: Sage Weil Date: Wed, 17 Jul 2019 19:59:02 +0000 (-0500) Subject: src/script/unhexdump-C: script to reverse a 'hexdump -C' style hexdump X-Git-Tag: v15.1.0~2018^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F29098%2Fhead;p=ceph.git src/script/unhexdump-C: script to reverse a 'hexdump -C' style hexdump Notably, this is the format for the bufferlist::hexdump() dump. Signed-off-by: Sage Weil --- diff --git a/src/script/unhexdump-C b/src/script/unhexdump-C new file mode 100755 index 000000000000..b4e755973478 --- /dev/null +++ b/src/script/unhexdump-C @@ -0,0 +1,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