Daniel@0: #!/usr/bin/env bash
Daniel@0: # diff <reference:filename>
Daniel@0: # Produces on standard output ed script required to recreate standard input given reference.
Daniel@0: here="$(dirname "$0")"
Daniel@0: function encode { "$here/bufs" 1 "$here/prefix" <(diff -e <(xxd -p -c 1  < "$1") <(xxd -p -c 1)); }
Daniel@0: # function decode { "$here/bufs" 1 "$here/unprefix" <(cat) | patch -e -o >(xxd -r -p -c 1) <(xxd -p -c 1 < "$1"); } 
Daniel@0: function decode { ("$here/bufs" 1 "$here/unprefix" <(cat) && echo ,p) | ed -s <(xxd -p -c 1 < "$1") | xxd -r -p -c 1; } 
Daniel@0: "$@"
Daniel@0: xxd -c 1 -p | xxd -r -c 1 -p