Angenommen, Sie haben GNU find, lassen Sie es die Verzeichnisse finden und lassen Sie bash den Rest erledigen:
find . -type d -print0 | while read -d '' -r dir; do
files=("$dir"/*)
printf "%5d files in directory %s\n" "${#files[@]}" "$dir"
done
find . -type f | cut -d/ -f2 | sort | uniq -c
find . -type f
um alle Artikel des Typsfile
zu finden , im aktuellen Ordner und Unterordnerncut -d/ -f2
um ihren spezifischen Ordner auszuschneidensort
um die Liste der Ordnernamen zu sortierenuniq -c
um zurückzugeben, wie oft jeder Ordnername gezählt wurde
Dies gibt die Dateianzahl pro Verzeichnis für die aktuelle Verzeichnisebene aus:
du -a | cut -d/ -f2 | sort | uniq -c | sort -nr