Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
Rekursives wc -l

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Programmieren - Allgemein
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Kurt
Gast





BeitragVerfasst am: 27. Jan 2003 9:45   Titel: Rekursives wc -l

Hi!

Ich habe einen Ordner mit diversen Unterordnern, in denen sich verschieden HTML-Dateien befinden. Wie kann ich die Zeilenanzahl aller HTML-Dateien im Ordner am einfachsten berechnen?

Gruss,
Kurt
 

Andreas Sons
Gast





BeitragVerfasst am: 27. Jan 2003 11:42   Titel: Re: Rekursives wc -l

wc -l `find . -type f -name "*.html" -print`

Wenn "wc" keine "total"-Zeile hat wird es etwas komplizierter:

(echo 0;wc -l `find . -type f -name "*.html" -print`|awk '{print $1 " +"}'; echo p) | dc

Vorsicht: wenn es doch eine "total"-Zeile haben sollte, so wird das Ergebnis hier doppelt so gross sein wie es sein sollte.

Und ja, es geht bestimmt auch einfacher, vor allem mit Perl oder wenn ich jetzt noch mal die man-Page von awk(1) gelesen haette, aber zumindest bei mir tut es wie es soll.
 

Jochen
Gast





BeitragVerfasst am: 27. Jan 2003 14:20   Titel: Re: Rekursives wc -l

Beim Aufruf oben platzt aber die Kommandozeile, wenn es sich um einige tausend HTML-Dateien handelt. Besser wäre ein
find . -name "*.html" -print0 | xargs -0 wc -l
Und wenn man schon die Liste erhält, kann man mit einem einfachen awk-Skript die Summe berechnen, ohne auf bc/dc zurückgreifen zu müssen:
code:
find . -name "*.html" -print0 | xargs -0 wc -l | \
awk '
{ sum += $1 ; print}
END {
print "
Total:",sum
}'



Jochen
 

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Programmieren - Allgemein Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy