GNU/Linux >> Tutoriales Linux >  >> Linux

¿Estadísticas recursivas sobre tipos de archivos en el directorio?

Hice un raspado de sitio web para un proyecto de conversión. Me gustaría hacer algunas estadísticas sobre los tipos de archivos allí, por ejemplo, 400 .html archivos, 100 .gif , etc. ¿Cuál es una manera fácil de hacer esto? Tiene que ser recursivo.

Editar: Con la secuencia de comandos que publicó maxschelpzig, tengo algunos problemas debido a la arquitectura del sitio que raspé. Algunos de los archivos tienen el nombre *.php?blah=blah&foo=bar con varios argumentos, por lo que los cuenta a todos como únicos. Entonces, la solución debe considerar *.php* ser todos del mismo tipo, por así decirlo.

Respuesta aceptada:

Podrías usar find y uniq para esto, por ejemplo:

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

Explicación del comando

  • find imprime recursivamente todos los nombres de archivo
  • sed elimina de cada nombre de archivo el prefijo hasta la extensión del archivo
  • uniq asume entrada ordenada
    • -c hace el conteo (como un histograma).

Linux
  1. Tabla de permisos para un archivo/directorio y tipos de usuarios del sistema de archivos

  2. comando de linux para vaciar todos los archivos de un directorio

  3. Gato recursivo todos los archivos en un solo archivo

  4. sys/types.h:No existe tal archivo o directorio

  5. rsync N archivos más nuevos en un directorio

Copiar archivos en Linux

Cómo copiar archivos y directorios en Linux

Copie tipos de archivos específicos mientras mantiene la estructura del directorio en Linux

Cómo tar tipos de archivos específicos (extensiones) en un directorio

Administre directorios y permisos de archivos con chmod Recursive

¿Cómo establecer permisos de archivo predeterminados para todas las carpetas/archivos en un directorio?