dircmp.sh

来自「<B>Digital的Unix操作系统VAX 4.2源码</B>」· Shell 代码 · 共 84 行

SH
84
字号
#! /usr/bin/sh5#	@(#)dircmp.sh	4.1	(Ultrix)	7/17/90PR="/bin/pr"PATH=.:/bin:/usr/binUSAGE="dircmp: usage: dircmp -s -d -wn directory directory"trap "rm -f /usr/tmp/dc$$*;exit" 1 2 3 15width=72set -- `getopt dsw: $*`if [ $? != 0 ]then	echo $USAGE	exit 2fifor 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;;	esacdoneD0=`pwd`D1=$1D2=$2if [ $# -lt 2 ]then echo $USAGE     exit 1elif [ ! -d "$D1" ]then echo $D1 not a directory !     exit 2elif [ ! -d "$D2" ]then echo $D2 not a directory !     exit 2ficd $D1find . -print | sort > /usr/tmp/dc$$acd $D0cd $D2find . -print | sort > /usr/tmp/dc$$bcomm /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$$drm -f /usr/tmp/dc$$e /usr/tmp/dc$$dsed -e s/..// < /usr/tmp/dc$$c > /usr/tmp/dc$$frm -f /usr/tmp/dc$$ccd $D0> /usr/tmp/dc$$gwhile read ado	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 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"done < /usr/tmp/dc$$f | $PR -h "Comparison of $D1 $D2"if [ "$Dflag" = "yes" ]then cat /usr/tmp/dc$$gfirm -f /usr/tmp/dc$$*

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?