平均サブディレクトリの数

平均サブディレクトリの数

多くのサブディレクトリがあるディレクトリがあります。各サブディレクトリには、複数のサブディレクトリ(サブサブディレクトリと呼ばれる)が含まれています。ここで、最上位ディレクトリの平均サブディレクトリ数を計算したいと思います。

ベストアンサー1

このスクリプトは awk を使用して ls リストからサブディレクトリを抽出します。各サブディレクトリを入力し、サブディレクトリの数を数えます。最終平均計算にはDCが使用されます。2 k小数点以下2桁まで出力するようにdc(使用)を設定しました。

dirs=$(ls -ld * | awk '$1 ~ /^d.*/ { print $9 }')
ndirs=0
for d in $dirs
do
    cd $d
    current_nsubdirs=$(ls -ld * 2>/dev/null | awk '$1 ~ /^d.*/ { print $9 }' | wc -l)
    nsubdirs=$(($nsubdirs + $current_nsubdirs))
    ndirs=$(($ndirs + 1))
    cd ..
done
echo "Total subdirs $ndirs"
echo "Total subsubdirs $nsubdirs"
avg=$(dc <<< "2 k $nsubdirs $ndirs / p")
echo "Average subsubdirs $avg"

おすすめ記事