Alle Zeilen eines Verzeichnisses zaehlen

Wolfsbein

Erfahrenes Mitglied
Hallo
ich kann mit wc -l datei.txt die Anzahl Zeilen einer Datei ausgeben. Was ist aber wenn ich eine Zusammenfassung aller ASCI (= nicht binaere) Dateien im Verzeichnis haben will? wc -R gibt es nicht. Vermutlich muss da ein augewachsenes Script her, nur bin ich leider kein Unix Guru. Gibt es eine Alternative? Danke.
 
Zusammenfassung aller ASCI (= nicht binaere) Dateien

Das hab ich überlesen...
Aber wüsste im Moment auch nicht wie man das rausfindet.

Man koennte höchstens die Dateierweiterungen überprüfen. Dann muessten aber alle
deine Ascii Dateien mit einer bestimmten Endung enden..
Oder du sagst du beschränkst dich auch Executables dann kannst du für die Überprüfung
das Kommando file verwenden...

Gruß

RedWing
 
Hi.

Du könntest auch z.B. mit file den Typ der Dateien (vom Inhalt her) bestimmen.

Also in etwa so: (Bash)
Code:
find . -type f | file -if - | \
  while { IFS=$' \t\n:'; read file mime; }; do 
    if [[ "$mime" == text/* ]]; then 
      echo -ne "$file\0"; 
    fi; 
  done | xargs -0 cat | wc -l

Der Code sollte auch korrekt funktionieren für Dateienamen mit Leerzeichen etc.

Gruß
 
Zuletzt bearbeitet:
RedWing hat gesagt.:
Code:
cat `find . -type f` | wc -l
Also hier wird definitiv rekursiv gesucht. Nur aus irgend einem Grund auf der ganzen Platte und nicht im Verzeichnis? Kann das an cygwin liegen?
Das letzte Beispiel geht leider gar nicht, weil wohl -file r eher file -r heissen muesste. Aber -r als Option ist unbekannt.
Ich glaube ich schreib mir einfach schnell ein kleines Java Programm.
 
Zurück