#! /bin/sh # compare files to those in a directory # -i means don't get upset about mismatches # -e means strip .eg suffix off filenames # -x means don't get upset if the file doesn't exist, but do if mismatch ignore=n strip=n mustexist=y for dummy do case "$1" in -i) ignore=y ;; -e) strip=y ;; -x) mustexist=n ;; --) shift ; break ;; -*) echo "$0: unknown option \`$1'" >&2 ; exit 2 ;; *) break ;; esac shift done case "$#" in 0|1) echo "Usage: $0 [-i] dir file ..." >&2 ; exit 2 ;; esac dest="$1" shift if test ! -d "$dest" then echo "$0: directory \`$dest' does not exist" >&2 exit 1 fi status=0 for f do case "$f" in */*) echo "$0: can't handle / in \`$f'" >&2 ; exit 1 ;; esac case "$strip:$f" in y:*.eg) d="$dest/`expr $f : '\(.*\)\.eg'`" ;; *) d="$dest/$f" ;; esac if test -f $d then cmp $f $d || test " $ignore" = " y" || status=1 elif test " $mustexist" = " y" then echo "$0: \`$d' does not exist!" >&2 status=1 fi done exit $status