📄 dircmp.sh
字号:
#! /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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -