GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo puedo encontrar todas las extensiones de archivo distintas en una jerarquía de carpetas?

Prueba esto (no estoy seguro si es la mejor manera, pero funciona):

find . -type f | perl -ne 'print $1 if m/\.([^.\/]+)$/' | sort -u

Funciona de la siguiente manera:

  • Buscar todos los archivos de la carpeta actual
  • Imprime la extensión de los archivos, si los hay
  • Haga una lista ordenada única

No es necesario que la tubería vaya a sort , awk puede hacerlo todo:

find . -type f | awk -F. '!a[$NF]++{print $NF}'

Versión recursiva:

find . -type f | sed -e 's/.*\.//' | sed -e 's/.*\///' | sort -u

Si desea totales (cuántas veces se vio la extensión):

find . -type f | sed -e 's/.*\.//' | sed -e 's/.*\///' | sort | uniq -c | sort -rn

No recursivo (carpeta única):

for f in *.*; do printf "%s\n" "${f##*.}"; done | sort -u

He basado esto en esta publicación del foro, el crédito debe ir allí.


Linux
  1. Cómo encontrar el archivo más antiguo en un árbol de directorios en Linux

  2. ¿Cómo encontrar el tipo de archivo Img y montarlo?

  3. ¿Cómo puedo cambiar el nombre de muchos archivos en una carpeta?

  4. Cómo encontrar todos los archivos dispersos en Linux

  5. ¿Cómo puedo encontrar la versión de Fedora que uso?

¿Cómo encuentro la ubicación MySQL my.cnf?

¿Cómo encontrar los directorios más grandes o los archivos más grandes?

¿Cómo puedo encontrar todos los archivos vinculados en un sistema de archivos?

¿Cómo puedo encontrar el archivo más antiguo en un árbol de directorios?

¿Cómo desvincular todos los enlaces simbólicos del directorio?

¿Cómo puedo rasterizar todo el texto en un PDF?