|
DataMuseum.dkPresents historical artifacts from the history of: Regnecentalen RC-900 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Regnecentalen RC-900 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 3009 (0xbc1) Types: TextFile Notes: UNIX file Names: »dircmp«
└─⟦9432394ce⟧ Bits:30004042/fmhelp.imd SW95705I 386/ix Multi-user Release 1.2 └─⟦9432394ce⟧ UNIX Filesystem └─⟦this⟧ »fm/new/usr/bin/dircmp«
# Copyright (c) 1984 AT&T # All Rights Reserved # THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T # The copyright notice above does not evidence any # actual or intended publication of such source code. #ident "@(#)dircmp:dircmp.sh 1.12" PATH=/bin:/usr/bin USAGE="dircmp: usage: dircmp -s -d -wn directory directory" trap "rm -f /usr/tmp/dc$$*;exit" 1 2 3 15 Sflag="" Dflag="" width=72 if type getopts | grep 'not found' > /dev/null then eval set -- "`getopt dsw: "$@"`" if [ $? != 0 ] then echo $USAGE exit 2 fi for i in $* do case $i in -d) Dflag="yes"; shift;; -s) Sflag="yes"; shift;; -w) width=`expr $2 + 0 2>/dev/null` if [ $? = 2 ] then echo "dircmp: numeric argument required" exit 2 fi shift 2 ;; --) shift; break;; esac done else while getopts dsw: i do case $i in d) Dflag="yes";; s) Sflag="yes";; w) width=`expr $OPTARG + 0 2>/dev/null` if [ $? = 2 ] then echo "dircmp: numeric argument required" exit 2 fi ;; \?) echo $USAGE exit 2;; esac done shift `expr $OPTIND - 1` fi D0=`pwd` D1=$1 D2=$2 if [ $# -lt 2 ] then echo $USAGE exit 1 elif [ ! -d "$D1" ] then echo $D1 not a directory ! exit 2 elif [ ! -d "$D2" ] then echo $D2 not a directory ! exit 2 fi cd $D1 find . -print | sort > /usr/tmp/dc$$a cd $D0 cd $D2 find . -print | sort > /usr/tmp/dc$$b comm /usr/tmp/dc$$a /usr/tmp/dc$$b | sed -n \ -e "/^ /w /usr/tmp/dc$$c" \ -e "/^ [^ ]/w /usr/tmp/dc$$d" \ -e "/^[^ ]/w /usr/tmp/dc$$e" rm -f /usr/tmp/dc$$a /usr/tmp/dc$$b pr -w${width} -h "$D1 only and $D2 only" -m /usr/tmp/dc$$e /usr/tmp/dc$$d rm -f /usr/tmp/dc$$e /usr/tmp/dc$$d sed -e s/..// < /usr/tmp/dc$$c > /usr/tmp/dc$$f rm -f /usr/tmp/dc$$c cd $D0 > /usr/tmp/dc$$g while read a do if [ -d $D1/"$a" ] then if [ "$Sflag" != "yes" ] then echo "directory $a" fi elif [ -f $D1/"$a" ] then cmp -s $D1/"$a" $D2/"$a" if [ $? = 0 ] then if [ "$Sflag" != "yes" ] then echo "same $a" fi else echo "different $a" if [ "$Dflag" = "yes" ] then type=`file $D1/"$a"` case "$type" in *text) ;; *empty) echo $D1/`basename "$a"` is an empty file | pr -h "diff of $a in $D1 and $D2" >> /usr/tmp/dc$$g continue ;; *) echo $D1/`basename "$a"` is an object file | pr -h "diff of $a in $D1 and $D2" >> /usr/tmp/dc$$g continue ;; esac type=`file $D2/"$a"` case "$type" in *text) ;; *empty) echo $D2/`basename "$a"` is an empty file | pr -h "diff of $a in $D1 and $D2" >> /usr/tmp/dc$$g continue ;; *) echo $D2/`basename "$a"` is an object file | pr -h "diff of $a in $D1 and $D2" >> /usr/tmp/dc$$g continue ;; esac diff $D1/"$a" $D2/"$a" | pr -h "diff of $a in $D1 and $D2" >> /usr/tmp/dc$$g fi fi elif [ "$Sflag" != "yes" ] then echo "special $a" fi done < /usr/tmp/dc$$f | pr -r -h "Comparison of $D1 $D2" if [ "$Dflag" = "yes" ] then cat /usr/tmp/dc$$g fi rm -f /usr/tmp/dc$$*