#	@(#)restorefiles	1.1	/sccs/src/cmd/sadmin/shell/s.restorefiles
#	restore a file from the save area to the regular file systems

flags="-qq -k$$"
trap 'exit' 1 2  15

sfile=`checkre ${flags} -fe 'Enter full path name of file to be restored [q]:
	' \
	'.' ' ' \
	'^[^ ;	][^ ;	]*$' 'Blanks or tabs not permitted in the file name.' \
	'^/' 'A full path name must begin with "/".' \
	'[^/]$' 'No trailing "/" in the file name.' \
	'/[^/]\{1,14\}$' 'No more than 14 characters in a file name.'`
echo 'Enter path name of where restored file is to be placed or
press RETURN if restored file is to be put to its original place:\n\t\c'
read rfile
if [ -z "${rfile}" ]
then
	rfile=${sfile}
fi

trap 'exit 1' 1 2  15
trap "rm -f /tmp/$$restorefiles /tmp/$$Xrestorefiles" 0
(
	cd /save/list
	fgrep -x ${sfile} /dev/null */*  |  tail -1 >/tmp/$$restorefiles
)
if [ ! -s /tmp/$$restorefiles ]
then
	echo "File '${sfile}' not in save area."
	exit
fi
ed - /tmp/$$restorefiles <<-!
	t.
	s;^;cp '/save/files/;
	s;:;';
	s;$; /tmp/$$Xrestorefiles;
	-s/:.*//
	s;\(..\).\(..\).\(..\).\(.*\);echo Found '${sfile}' saved \4 \2/\3/\1.;
	w
	q
!
sh /tmp/$$restorefiles 2>/dev/null  ||
{
	echo >&2 "Unable to restore '${sfile}'.  Wrong permission."
	exit 1
}
if  mv /tmp/$$Xrestorefiles ${rfile}
then
	echo "'${sfile}' now restored as\\n'${rfile}'."
else
	echo "'${sfile}' not restored."
fi