Anzahl der Dateien in einem Verzeichnis unter Linux zählen? [geschlossen]


332

Um die Anzahl der Dateien in einem Verzeichnis zu zählen, verwende ich normalerweise

ls directory | wc -l

Aber gibt es einen anderen Befehl, der nicht verwendet wird wc?


16
Was genau ist das Problem wc, das Sie daran hindert, es zu verwenden?
Vanza

5
Nicht wirklich. Unix-Befehle sollen im Allgemeinen auf diese Weise verwendet werden, verkettet in Pipes.
Michael Berkowski

2
Ich verbinde mich über ssh mit einem anderen Host, um auf einige Daten zuzugreifen. Leider scheinen einige grundlegende Befehle auf diesem Host nicht zu funktionieren. Wenn ich wc verwende, wird "nicht erkannter Befehl" zurückgegeben. Also suche ich nach anderen Möglichkeiten.
Kantura

7
Verwenden Sie den treeBefehl. Es gibt Ihnen den Baum und zeigt Ihnen unten, wie viele Dateien und Verzeichnisse es gibt. Wenn Sie versteckte Dateien möchten, verwenden Sie auch tree -a.
Elijah Lynn

5
@vanza " Was genau ist das Problem mit wc ", was ist, wenn eine Datei einen \nim Dateinamen hat? Ja, sehr unwahrscheinlich! Aber technisch immer noch gültig und möglich.
JamesThomasMoon1979

Antworten:


523

Dies ist einer:

ls -l . | egrep -c '^-'

Hinweis:

ls -1 | wc -l

Was bedeutet ls:: Liste Dateien in dir

-1: (das ist EINS) nur ein Eintrag pro Zeile. Ändern Sie es in -1a, wenn Sie auch versteckte Dateien möchten

|: Rohrausgang auf ...

wc: "Wortzahl"

-l: zähle lines.


1
Nein, warte. Ich habe einen Booboo gemacht. Sie haben absolut Recht, Sajad Lfc. ls -1 dir | egrep -c '' Dies gibt die Anzahl der Dateien im Verzeichnis zurück. Vielen Dank .
Kantura

1
@SajadKaruthedath ls -l . | egrep -c '^-'zählt keine versteckten Dateien. Ich schlage vor, -aFlag hinzuzufügen ls.
JamesThomasMoon1979

1
@ JamesThomasMoon1979: Bitte überprüfen Sie meine Beschreibung
Sajad Karuthedath

1
Dies zeigt einen Fehler an, wenn sich keine Dateien im Ordner befinden. Verwenden Sie ls -1 /dir 2>/dev/null | wc -l. Hier ist die Ausgabe von ls an / dev / null gerichtet und das Ergebnis ist eine saubere Null
Sathish

6
@runios Das liegt daran, dass ls -loben eine zusätzliche Zeile zurückgegeben wird, in der die Dateigrößen für einen Gesamtbetrag addiert werden. Sie sollten verwenden ls -1und nicht die ls -l. Auch wenn man versteckte Dateien aber ohne die Verzeichnisse will .und ..man verwenden solltels -1A | wc -l
Daniel Biegler
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.