shell脚本——统计不同目录下同名文件个数

#!/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

你可能感兴趣的:(Linux,shell脚本)