From 758757c1b8af4bd84592b18f0517a7cfbdad4600 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Wed, 17 Jul 2019 14:59:02 -0500 Subject: [PATCH] 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 --- src/script/unhexdump-C | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100755 src/script/unhexdump-C diff --git a/src/script/unhexdump-C b/src/script/unhexdump-C new file mode 100755 index 00000000000..b4e75597347 --- /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 -- 2.47.3