GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Anzahl der Dateien in jedem Unterverzeichnis

Angenommen, Sie möchten nur eine rekursive Zählung von Dateien, nicht von Verzeichnissen und anderen Typen, sollte so etwas funktionieren:

find . -maxdepth 1 -mindepth 1 -type d | while read dir; do
  printf "%-25.25s : " "$dir"
  find "$dir" -type f | wc -l
done

Diese Aufgabe hat mich so fasziniert, dass ich selbst eine Lösung finden wollte. Es dauert nicht einmal eine While-Schleife und DARF schneller in der Ausführungsgeschwindigkeit sein. Unnötig zu erwähnen, dass Thors Bemühungen mir sehr dabei geholfen haben, die Dinge im Detail zu verstehen.

Also hier ist meins:

find . -maxdepth 1 -mindepth 1 -type d -exec sh -c 'echo "{} : $(find "{}" -type f | wc -l)" file\(s\)' \;

Es sieht aus einem bestimmten Grund bescheiden aus, denn es ist viel mächtiger als es aussieht. :-)

Sollten Sie jedoch beabsichtigen, dies in Ihren .bash_aliases aufzunehmen Datei muss es so aussehen:

alias somealias='find . -maxdepth 1 -mindepth 1 -type d -exec sh -c '\''echo "{} : $(find "{}" -type f | wc -l)" file\(s\)'\'' \;'

Beachten Sie die sehr knifflige Handhabung von verschachtelten single Zitate. Und nein, das ist es nicht möglich, doppelte Anführungszeichen für sh -c zu verwenden Argument.


find . -type f | cut -d"/" -f2 | uniq -c

Listet Ordner und Dateien im aktuellen Ordner mit der Anzahl der darunter gefundenen Dateien auf. Schnell und nützlich IMO. (Dateien werden mit Zählung 1 angezeigt).


Linux
  1. Neueste Dateien finden?

  2. Auflisten der Anzahl der Dateien in jedem Ordner, wo der Ordnername mit einem Muster übereinstimmt?

  3. Größte Dateien rekursiv finden?

  4. Linux-Suchbefehle

  5. bash findet Verzeichnisse

So finden Sie Dateien unter Linux

Finden Sie große Dateien in Linux

So zählen Sie Dateien im Verzeichnis in Linux

So zählen Sie die Anzahl der Dateien und Unterverzeichnisse in einem Verzeichnis

So finden Sie Dateien in Debian

Wie man alle Dateien in allen Unterverzeichnissen in Bash gzippt