| Listing 2: Dearchive a compressed uuencoded cpio archive
 
#!/bin/sh
#
#       dearc
#
#       Takes an archive already checked out from RCS and extracts the
#       files, rebuilding the original tree.  The archive must be
#       compressed and in uuencoded text form.  Use cpio's compatibility
#       option to avoid tar's incompatible design.  Use zcat to keep the
#       file handling simple.
#
#       Lawrence S Reznick -- 94Nov08
if [ $# -lt 2 ]
then
echo "Usage: `basename $0` archivename dirname"                 1>&2
echo "       `basename $0` -t archivename"                      1>&2
echo                                                            1>&2
echo "Creates dirname tree from archive using \"cpio -c\""      1>&2
echo "-t option shows archive's table of contents only"         1>&2
exit 1
fi
if [ "$1" = "-t" ]
then
OPT=tv
ARC=$2
else
ARC=$1
DIR=$2
fi
ZFILE=`basename $ARC .uu`
uudecode $ARC
trap "rm -f $ZFILE" 0 1 2 3 15
if [ "$OPT" ]
then
mkdir -p $DIR >/dev/null 2>&1
if [ ! -d $DIR ]
then
echo "Can't create $DIR" 1>&2
exit 2
fi
fi
zcat $ZFILE | ( cd $DIR; cpio -icd )
 
 
 
 
 |