Chinaunix首页 | 论坛 | 博客
  • 博客访问: 358302
  • 博文数量: 167
  • 博客积分: 2867
  • 博客等级: 少校
  • 技术积分: 1306
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-12 00:08
文章分类

全部博文(167)

文章存档

2017年(10)

2016年(5)

2015年(9)

2014年(10)

2013年(5)

2012年(17)

2011年(110)

2010年(1)

我的朋友

分类: LINUX

2011-03-09 09:43:56


两个文件夹下面的文件个数及其名称完全一样,但是内容有的可能不一样,这个脚本遍历文件夹下的所有子文件夹,包括嵌套多层的,然后使用linux系统的diff命令对两个名称一样的文件进行比较,脚本如下:
#!/bin/sh


if [ $# -ne 2 ]

then
    echo Usage: compare.sh fold_name_1 fold_name_2
    exit
fi

if [ ! -$1 ]
then
    echo $1 is not a 
    exit
fi

if [ ! -$2 ]
then
    echo $2 is not a 
    exit
fi

fold1=$(echo $1 | sed 's|\(^[^/]*\).*|\1|')
fold2=$(echo $2 | sed 's|\(^[^/]*\).*|\1|')

compareFOLD()
{
    for file in $1/*
    do
        if [ -$file ] then
            compareFOLD $file
        elif [ -$file ]
        then
            if [ ! -$file ]
            then
                file2=$(echo $file | sed "s|^.[^/]*\(.*\)|$fold2\1|")
                diff $file $file2
                if [ $? -ne 0 ]
                then
                    echo -"\033[32m"$file
                    echo $file2
                    echo -e"\033[0m"---------------------------------------------------------------------
                fi
            fi
        fi
    done
}

compareFOLD $fold1
            

阅读(2817) | 评论(0) | 转发(0) |
0

上一篇:mount iso

下一篇:活灵活现用Git-基础篇

给主人留下些什么吧!~~