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