shell对比两个目录中有哪些文件不同


参考:https://www.cnblogs.com/liyuchuan/p/10756066.html

目录结构:

/data/dir1

  subdir/

  subfile

/data/dir2

  subdir/

  subfile

目的是为了判断2个相同结构的文件夹中,有哪些文件的内容是不一样的。

#!/bin/bash
read_dir(){
    for file in `ls -a $1`
    do
        if [ -d $1"/"$file ]
        then
            if [[ $file != '.' && $file != '..' ]]
            then
                read_dir $1"/"$file
            fi
        else

            diff $1"/"$file $(echo $1 | sed -e s'/dir1/dir2/')"/"${file} 1>/dev/null 2>&1 && result=0 || result=1

            if [ "$result" == 1 ];then
                echo "$1"/"$file is diff" >> result.log
            fi
        fi
    done
}


read_dir /data/dir1

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM