#!/bin/bash

myname=${0##*/}	# basename of this script

# 6 spaces, regexp for diff, TAB, and 3 spaces:
pattern='      [<|>]	   '

# Set up temp files:
if [ $# -ne 2 -o ! -r "$1" -o ! -r "$2" ]
then
   echo 1>&2 "Usage: $myname file1 file2
     (Check: both files exist, readable?)"
   exit 1
fi
tmp1=$(mktemp -t $myname.1.XXXXXXXXX) || exit 1
if tmp2=$(mktemp -t $myname.2.XXXXXXXXX)
then
   stat=1 # default exit status; reset later
   trap 'rm -f $tmp1 $tmp2; exit $stat' 0 1 2 15
else
   rm -f $tmp1
   exit 1
fi

# Run od, show characters, one byte per line,
# show all bytes.  Then remove offset values:
od -c -w1 -v "$1" | sed 's/^[0-9]*//' > $tmp1
od -c -w1 -v "$2" | sed 's/^[0-9]*//' > $tmp2

# Side-by-side diff, output width 30 columns:
#diff -y -W 30 --suppress-common-lines $tmp1 $tmp2
diff -y -W 30 $tmp1 $tmp2 | grep -C1 "$pattern"
stat=$?	# exit with same status as diff