#! /bin/sh # copy files to a directory # -n means copy only new files (don't overwrite old ones) # -e means strip off trailing ".eg" on names newonly=n strip=n for dummy do case "$1" in -n) newonly=y ;; -e) strip=y ;; --) shift ; break ;; -*) echo "$0: unknown option \`$1'" >&2 ; exit 2 ;; *) break ;; esac shift done case "$#" in 0|1) echo "Usage: $0 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 for f do case "$f" in */*) echo "$0: cannot handle / in \`$f'" >&2 ; exit 1 ;; esac case "$strip:$f" in y:*.eg) d="$dest/`expr $f : '\(.*\)\.eg'`" ;; *) d="$dest/$f" ;; esac if test " $newonly" = " n" then cp "$f" "$d" || exit 1 elif test ! -f "$d" then cp "$f" "$d" || exit 1 else echo "\`$d' already exists -- not copied" fi done exit 0