GNU/Linux >> Tutoriels Linux >  >> Linux

Statistiques récursives sur les types de fichiers dans le répertoire ?

J'ai fait un scraping de site web pour un projet de conversion. J'aimerais faire quelques statistiques sur les types de fichiers qu'il contient - par exemple, 400 .html fichiers, 100 .gif , etc. Quel est un moyen facile de le faire ? Il doit être récursif.

Modifier : Avec le script que maxschelfzig a posté, j'ai quelques problèmes dus à l'architecture du site que j'ai gratté. Certains des fichiers portent le nom *.php?blah=blah&foo=bar avec divers arguments, il les compte donc tous comme uniques. La solution doit donc considérer *.php* être tous du même type, pour ainsi dire.

Réponse acceptée :

Vous pouvez utiliser find et uniq pour cela, par exemple :

$ find . -type f | sed 's/.*.//' | sort | uniq -c
   16 avi
   29 jpg
  136 mp3
    3 mp4

Explication de la commande

  • find imprime récursivement tous les noms de fichiers
  • sed supprime de chaque nom de fichier le préfixe jusqu'à l'extension de fichier
  • uniq suppose une entrée triée
    • -c effectue le comptage (comme un histogramme).

Linux
  1. Déplacer des fichiers sur Linux sans mv

  2. Pourquoi Rm peut-il supprimer les fichiers en lecture seule ?

  3. Rsync, n'inclut que certains types de fichiers à l'exclusion de certains répertoires ?

  4. commande linux pour vider tous les fichiers d'un répertoire

  5. sys/types.h :aucun fichier ou répertoire de ce type

Copier des fichiers sous Linux

Comment copier des fichiers et des répertoires sous Linux

Copier des types de fichiers spécifiques tout en conservant la structure des répertoires sous Linux

Comment tarer des types de fichiers spécifiques (extensions) dans un répertoire

Gérer les autorisations de répertoire et de fichier avec chmod Recursive

rsync N fichiers les plus récents dans un répertoire