Ich habe ein Website-Scraping für ein Konvertierungsprojekt durchgeführt. Ich würde gerne einige Statistiken zu den darin enthaltenen Dateitypen erstellen – zum Beispiel 400 .html
Dateien, 100 .gif
usw. Was ist eine einfache Möglichkeit, dies zu tun? Es muss rekursiv sein.
Bearbeiten: Mit dem Skript, das maxschelpzig gepostet hat, habe ich einige Probleme aufgrund der Architektur der Seite, die ich gekratzt habe. Einige der Dateien haben den Namen *.php?blah=blah&foo=bar
mit verschiedenen Argumenten, so dass sie alle als einzigartig gezählt werden. Die Lösung muss also *.php*
berücksichtigen sozusagen alle vom gleichen Typ sein.
Akzeptierte Antwort:
Sie könnten find
verwenden und uniq
dazu z.B.:
$ find . -type f | sed 's/.*.//' | sort | uniq -c
16 avi
29 jpg
136 mp3
3 mp4
Befehlserklärung
find
gibt rekursiv alle Dateinamen aussed
löscht aus jedem Dateinamen das Präfix bis zur Dateiendunguniq
geht von einer sortierten Eingabe- aus
-c
zählt (wie ein Histogramm).