GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Rekursive Statistiken zu Dateitypen im Verzeichnis?

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 aus
  • sed löscht aus jedem Dateinamen das Präfix bis zur Dateiendung
  • uniq geht von einer sortierten Eingabe
      aus
    • -c zählt (wie ein Histogramm).

Linux
  1. Rsync, nur bestimmte Dateitypen einschließen, einige Verzeichnisse ausschließen?

  2. Berechtigungstabelle für Datei-/Verzeichnis- und Dateisystem-Benutzertypen

  3. Rekursives Cat alle Dateien in einer einzigen Datei

  4. rsync N neueste Dateien in einem Verzeichnis

  5. Wie werden Standard-Dateiberechtigungen für alle Ordner/Dateien in einem Verzeichnis festgelegt?

Kopieren von Dateien unter Linux

So kopieren Sie Dateien und Verzeichnisse unter Linux

Kopieren Sie bestimmte Dateitypen, während Sie die Verzeichnisstruktur in Linux beibehalten

So tarieren Sie bestimmte Dateitypen (Erweiterungen) in einem Verzeichnis

Verwalten Sie Verzeichnis- und Dateiberechtigungen mit chmod Recursive

Wie lösche ich alle Dateien in einem Verzeichnis außer einigen?