- 论坛徽章:
- 0
|
原帖由 pu57 于 2009-6-10 14:32 发表 ![]()
有一个问题.比如
old下有文件abc,文件夹F
new同old
我修改old下的a文件内容,删除c文件,增加了d文件,并且在F文件夹下增加了yes这个文件
那结果应该是得出del目录下有c,update目录下有a文件和d文件,而 ...
呃……awk的问题,修改一下……
Usage: ./diff.sh old new logfile
- #!/bin/sh
- [ $# -lt 3 ] && echo "ERROR : TWO directories & ONE logfile path is requested ." && exit 1
- ([ ! -d $1 ] || [ ! -d $2 ]) && echo "Directory must be existed ." && exit 2
- mkdir -p share update del || (echo "Destination Directory can NOT be created ." && exit 3)
- find $1 $2 -type f | cut -d/ -f2- | sort -u | while read line;
- do
- [ -f $1/$line ] && from=$1 || from=$2
- [ -f $1/$line ] && ([ -f $2/$line ] && ([ "$(md5sum < new/$line)" = "$(md5sum < old/$line)" ] && to="share" || to="update") || to="update") || to="del"
- mkdir -p $to/$(dirname $line) && cp $from/$line $to/$line && echo $(date +%F)" $from/$line >> $to/$line" >> $3
- done
- echo "Done !" && exit 0
复制代码 |
|