Tach Liste. Ich möchte gerne die Anzahl der Dateien in einem Verzeichnis zählen. Dazu habe ich mir ausgedacht: find Trash/ -type f | grep -c - Der find-Abschnitt soll Dateien finden (tut er auch), der grep-Abschnitt soll sie zählen. Allein: es kommt immer 4096 heraus. Warum? Und könnte nicht schon find seine Treffer zählen? Ich hab schon die man-page gelesen, aber ich finde das Stichwort nicht. Bitte um einen kurzen Tip. -- Mails an diese Adresse werden in /dev/null archiviert! Bitte ggf. lists... durch mail... ersetzen. Andreas Feile www.feile.net
Andreas Feile
Ich möchte gerne die Anzahl der Dateien in einem Verzeichnis zählen. Dazu habe ich mir ausgedacht:
find Trash/ -type f | grep -c -
Der find-Abschnitt soll Dateien finden (tut er auch), der grep-Abschnitt soll sie zählen. Allein: es kommt immer 4096 heraus. Warum?
Und könnte nicht schon find seine Treffer zählen? Ich hab schon die man-page gelesen, aber ich finde das Stichwort nicht.
find Trash/ -type f | wc -l Sucht in Trash und allen Unterverzeichnissen von Trash. Sollen die Unterverzeichnisse nicht betrachtet werden hilft: find Trash/ -type f -maxdepth 1 | wc -l Bye Jürgen -- Dr.rer.nat. Juergen Vollmer, Viktoriastrasse 15, D-76133 Karlsruhe Tel: +49(721) 9204871 Fax: +49(721) 24874 Juergen.Vollmer@[informatik-vollmer.de|alumni.uni-karlsruhe.de|acm.org] www.informatik-vollmer.de
Hallo Andreas! Am Dienstag, 9. März 2004 10:19 schrieb Andreas Feile:
Ich möchte gerne die Anzahl der Dateien in einem Verzeichnis zählen. Dazu habe ich mir ausgedacht:
find Trash/ -type f | grep -c -
Der find-Abschnitt soll Dateien finden (tut er auch), der grep-Abschnitt soll sie zählen. Allein: es kommt immer 4096 heraus. Warum?
Warum das passiert, weiß ich nicht. Ich verwende für so etwas find Trash/ -type f | wc -l Gruß Lutz
*** Andreas Feile (lists@feile.net) schrieb heute in suse-linux:
Tach Liste.
Kann ich ja nicht gemeint sein.
Ich möchte gerne die Anzahl der Dateien in einem Verzeichnis zählen. Dazu habe ich mir ausgedacht:
find Trash/ -type f | grep -c -
Der find-Abschnitt soll Dateien finden (tut er auch), der grep-Abschnitt soll sie zählen. Allein: es kommt immer 4096 heraus. Warum?
Wieder mal ein Fall von RTFM. Wo steht das Pattern in Deiner Kommandozeile? Wo steht in der man page, dass "-" zulässig ist? (Tip: "-" ist hier das Pattern).
Und könnte nicht schon find seine Treffer zählen? [...]
Ja. (Vorsicht: Informatiker-Antwort!) Tip: "grep" ist nicht zum zählen da! "wc" ist diesbezüglich ein Gegensatz zu "grep". G Henning Hucke PS: Ich weiss schon, warum ich Dich in meinem Kill-File stehen habe %-(... -- Ein Wunsch kann durch nichts mehr verlieren als dadurch, dass er in Erfuellung geht. -- Peter Bamm
Am Dienstag, 9. März 2004 10:19 schrieb Andreas Feile:
Tach Liste.
Ich möchte gerne die Anzahl der Dateien in einem Verzeichnis zählen. Dazu habe ich mir ausgedacht:
find Trash/ -type f | grep -c -
Der find-Abschnitt soll Dateien finden (tut er auch), der grep-Abschnitt soll sie zählen. Allein: es kommt immer 4096 heraus. Warum?
Und könnte nicht schon find seine Treffer zählen? Ich hab schon die man-page gelesen, aber ich finde das Stichwort nicht.
Bitte um einen kurzen Tip.
Hallo, es heisst: "in einem Verzeichnis" . Falls nicht rekursiv in untergeortneten Verzeichnissen, falls überhaupt vorhanden: cd verzeichnis ls | wc -l Als Antwort gibt es die Anzahl der Dateien. Grüße Peter
*** Peter Schopen (peter@schopen.de) schrieb am Mar 9, 2004 in suse-linux:
[... Fullquote ...]
Bitte http://learn.to/quote/ lesen. Danke.
es heisst: "in einem Verzeichnis" . [...]
Das steht in der Originalmail, ja.
[...] Falls nicht rekursiv in untergeortneten Verzeichnissen, falls überhaupt vorhanden:
cd verzeichnis ls | wc -l
Als Antwort gibt es die Anzahl der Dateien.
Zum einen: Warum erst ein umständliches "cd"? Gewohnheit aus Windows- Zeiten? Wenn ja, dann bitte nicht auch noch anderen anzugewöhnen versuchen! Zum anderen: Bei mir gibt ein einfaches "ls" ein zweispaltiges Listing aus. Das hat zur Folge, dass mit Deiner Kommandozeile nur die Hälfe der Files gezählt wird... <Kopfschuettel/> MG Henning Hucke -- Die "letzten Worte", die auf dem Grabstein der menschlichen Hochkultur eingraviert sein werden: "Du bist zu pessimistisch..."
* Mittwoch, 10. März 2004 um 07:57 (+0100) schrieb Henning Hucke:
*** Peter Schopen (peter@schopen.de) schrieb am Mar 9, 2004 in suse-linux:
ls | wc -l
Als Antwort gibt es die Anzahl der Dateien.
Zum anderen: Bei mir gibt ein einfaches "ls" ein zweispaltiges Listing aus. Das hat zur Folge, dass mit Deiner Kommandozeile nur die Hälfe der Files gezählt wird... <Kopfschuettel/>
Wenn du 'info ls' gelesen hättest, dann gäbe es keinen Grund zum
Kopfschütteln:
"[...] If standard output is a terminal, the output is in columns
(sorted vertically) and control characters are output as question
marks; otherwise, the output is listed one per line and control
characters are output as-is. [...]"
Gruß
Andreas
--
Andreas Könecke "Andreas Koenecke
*** Andreas Koenecke (akoenecke@akoenecke.de) schrieb heute in suse-linux:
[...] Wenn du 'info ls' gelesen hättest, dann gäbe es keinen Grund zum Kopfschütteln:
"[...] If standard output is a terminal, the output is in columns (sorted vertically) and control characters are output as question marks; otherwise, the output is listed one per line and control characters are output as-is. [...]"
Asche auf mein Haupt und einen kräftigen Tritt noch dazu! ... Aua! Ich bitte um Verzeihung. Nichtsdestotrotz zählt "find" ohne weiteres die dot-Files mit, ein einfaches "ls" nicht. Aber wo man beim einen Optionen hinzufügt, um bestimmte Files /nicht/ mitzuzählen, fügt man bei anderen eben welche hinzu um etwas mitzuzählen. MG Henning Hucke -- Eine Gesellschaft von Schafen muss mit der Zeit eine Regierung von Woelfen hervorbringen. -- Bertrand de Jouvenel
participants (6)
-
Andreas Feile
-
Andreas Koenecke
-
Dr. Jürgen Vollmer
-
Henning Hucke
-
Lutz Gehlen
-
Peter Schopen