Für das aktuelle Verzeichnis:
find -type f | wc -l
Das sollte funktionieren:
find DIR_NAME -type f | wc -l
Erklärung:
-type f
nur Dateien einzuschließen.|
(und nicht¦
) leitetfind
um Standardausgabe des Befehls aufwc
Standardeingabe des Befehls.wc
(kurz für Wortzahl) zählt Zeilenumbrüche, Wörter und Bytes bei seiner Eingabe (docs).-l
um nur Zeilenumbrüche zu zählen.
Hinweise:
- Ersetzen Sie
DIR_NAME
mit.
um den Befehl im aktuellen Ordner auszuführen. - Sie können auch die
-type f
entfernen um Verzeichnisse (und Symlinks) in die Zählung einzubeziehen. - Es ist möglich, dass dieser Befehl überzählt, wenn Dateinamen Zeilenumbrüche enthalten können.
Erklärung, warum Ihr Beispiel nicht funktioniert:
In dem von Ihnen gezeigten Befehl verwenden Sie nicht die "Pipe" (|
), um zwei Befehle irgendwie zu verbinden, aber der unterbrochene Balken (¦
), die die Shell nicht als Befehl oder ähnliches erkennt. Deshalb erhalten Sie diese Fehlermeldung.