如题所述
ä¸èèåæ件夹ã
å ç¨lså½ä»¤æä¸¾å ¶ä¸ä¸ä¸ªæ件夹å çæææ件ï¼ç¨æ°ç»è®°å½æ件åï¼ã
cd ç®å½1
declare -a array=(`ls`)
ç¶åå¨æ举å¦ä¸ä¸ªæ件夹æ¶ç¨for循ç¯ä¸æ°ç»å ç´ é个æ¯è¾ã
cd ç®å½2
for file2 in *
do
isFound=0
for file1 in ${array[*]}
do
if [ "$file2" = "$file1" ]; then
diff -y --suppress-common-lines ç®å½1/$file1 ç®å½2/$file2
isFound=1
fi
done
[ $isFound -eq 0 ] && echo "ç®å½2ä¸ç$file2æ件å¨ç®å½1ä¸ä¸åå¨ï¼"
done
å½ç¶ï¼è¿æä¸ç§æ åµæ没æå¤çï¼å³ç®å½1ä¸çå 容å¨ç®å½2ä¸ä¸åå¨ã
å ç¨lså½ä»¤æä¸¾å ¶ä¸ä¸ä¸ªæ件夹å çæææ件ï¼ç¨æ°ç»è®°å½æ件åï¼ã
cd ç®å½1
declare -a array=(`ls`)
ç¶åå¨æ举å¦ä¸ä¸ªæ件夹æ¶ç¨for循ç¯ä¸æ°ç»å ç´ é个æ¯è¾ã
cd ç®å½2
for file2 in *
do
isFound=0
for file1 in ${array[*]}
do
if [ "$file2" = "$file1" ]; then
diff -y --suppress-common-lines ç®å½1/$file1 ç®å½2/$file2
isFound=1
fi
done
[ $isFound -eq 0 ] && echo "ç®å½2ä¸ç$file2æ件å¨ç®å½1ä¸ä¸åå¨ï¼"
done
å½ç¶ï¼è¿æä¸ç§æ åµæ没æå¤çï¼å³ç®å½1ä¸çå 容å¨ç®å½2ä¸ä¸åå¨ã
温馨提示:答案为网友推荐,仅供参考
第1个回答 2012-12-20
for /f %%i (文件夹1) do (
for /f %%j (文件夹2) do (
findstr /ivg:%%i %%j >output.txt
)
)
不好意思上面是bat的。。
dir1=`ls -l 文件夹1|grep "^-"|awk '{print $1}'`
for file1 in $dir1
do
dir2=`ls -l 文件夹2|grep "^-"|awk '{print $1}'`
for file2 in dir2
do
diff $file1 $file2 >output.log
done
done
for /f %%j (文件夹2) do (
findstr /ivg:%%i %%j >output.txt
)
)
不好意思上面是bat的。。
dir1=`ls -l 文件夹1|grep "^-"|awk '{print $1}'`
for file1 in $dir1
do
dir2=`ls -l 文件夹2|grep "^-"|awk '{print $1}'`
for file2 in dir2
do
diff $file1 $file2 >output.log
done
done
第2个回答 2012-12-20
代码中采用两个for循环就可以了。