寫個(gè)小程序來比對兩個(gè)目錄下的不同文件
我寫的是 bash shell的腳本。 用一個(gè)遞歸函數(shù)來搜索兩個(gè)目錄下不同的文件。
實(shí)際上我是用它來檢測優(yōu)化后程序的輸出結(jié)果的。拿出來寫在這里,也許你也可以用。
1.代碼
#!/bin/bash
#?check_dirs.sh
check_files()?{
??local?FISRTDIR=$1
??local?SECONDDIR=$2
??local?FILES=`ls?$FISRTDIR/?-Al?|?grep?-vE?"^[dl]"?|?awk?'{print?$9}'`
??local?i
??for?i?in?$FILES
??do
????echo?$FISRTDIR/$i?
????diff?$FISRTDIR/$i?$SECONDDIR/$i?1>/dev/null?2>&1
????if?[?$??-ne?0?]
????then
??????echo?"vimdiff?$FISRTDIR/$i?$SECONDDIR/$i"
#????vimdiff?$FISRTDIR/$i?$SECONDDIR/$i
????fi
??done
}
check_dirs()
{
??local?FISRTDIR=$1
??local?SECONDDIR=$2
??local?i
??check_files?$FISRTDIR?$SECONDDIR
??DIRS=`ls?$FISRTDIR/?-Al?|?grep?-E?"^d"?|?awk?'{print?$9}'`
??for?i?in?$DIRS
??do
????check_dirs?$FISRTDIR/$i?$SECONDDIR/$i
??done
}
2.使用方法
[]$?source?./check_dirs.sh []$?check_dirs?dir1?dir2
他就會(huì)輸出不同的文件了。
試試吧。 挺好用的。





