哪个目录有更多的文件,哪个有更多的子目录?

Which directory has more files and which has more subdirectories?

我想编写一个 shell 脚本来比较两个目录的大小 X 和 Y,并报告哪个目录有更多文件,哪个目录有更多子目录。所以 X 和 Y 是两个参数。

我知道统计目录中文件的代码是

ls -l | wc -l

我在论证和比较方面遇到了一些麻烦。

子目录也一样。我是 shell 脚本的新手,因此将不胜感激。

对于文件你可以做的:

filesX=$(find "${X}" -type f | wc -l)
filesY=$(find "${Y}" -type f | wc -l)

if (( filesX < filesY )); then
    echo "${Y} has more files"
elif (( filesX > filesY )); then
    echo "${X} has more files"
else
    echo "${X} and ${Y} have same number of files"
fi

dirs 基本相同:

dirsX=$(find "${X}" -type d | wc -l)
dirsY=$(find "${Y}" -type d | wc -l)

if (( dirsX < dirsY )); then
    echo "${Y} has more dirs"
elif (( dirsX > dirsY )); then
    echo "${X} has more dirs"
else
    echo "${X} and ${Y} have same number of dirs"
fi