#!/bin/bash
#遍历目录函数
list_alldir(){
for road in `ls -a $1`
do
if [ x"$road" != x"." -a x"$road" != x".." ];then
if [ -d "$1/$road" ];then
echo "$1/$road"
list_alldir "$1/$road"
do
if [ x"$road" != x"." -a x"$road" != x".." ];then
if [ -d "$1/$road" ];then
echo "$1/$road"
list_alldir "$1/$road"
fi
fi
done
}
echo "输入文件A的根目录:"
read path_A
list_alldir $path_A >Adir.txt
echo "输入文件B的根目录:"
read path_B
list_alldir $path_B >Bdir.txt
for fileA in $(find $path_A -type f -name '[^\.]*')
do
fileA=${fileA##*/}
for fileB in $(find $path_B -type f -name '[^\.]*')
do
fileB=${fileB##*/}
n=0
if [ "$fileA" == "$fileB" ]
then
echo "$path1/$fileA is identical with $path_B/$fileB"
let 'n+=1'
echo "Total $n files are identical"
fi
done
done
#遍历目录函数
list_alldir(){
for road in `ls -a $1`
do
if [ x"$road" != x"." -a x"$road" != x".." ];then
if [ -d "$1/$road" ];then
echo "$1/$road"
list_alldir "$1/$road"
do
if [ x"$road" != x"." -a x"$road" != x".." ];then
if [ -d "$1/$road" ];then
echo "$1/$road"
list_alldir "$1/$road"
fi
fi
done
}
echo "输入文件A的根目录:"
read path_A
list_alldir $path_A >Adir.txt
echo "输入文件B的根目录:"
read path_B
list_alldir $path_B >Bdir.txt
for fileA in $(find $path_A -type f -name '[^\.]*')
do
fileA=${fileA##*/}
for fileB in $(find $path_B -type f -name '[^\.]*')
do
fileB=${fileB##*/}
n=0
if [ "$fileA" == "$fileB" ]
then
echo "$path1/$fileA is identical with $path_B/$fileB"
let 'n+=1'
echo "Total $n files are identical"
fi
done
done