GNU/Linux >> Tutoriales Linux >  >> Linux

enumerar/buscar todos los archivos normales en todos los subdirectorios, excepto los archivos binarios

file /usr/bin/file , por ejemplo, no incluye la palabra "binario" en su salida en mi sistema. Si file -i está disponible, incluye la palabra "binario". Sin -i , puede ser más confiable comprobar la presencia de la palabra "texto".

find -type f -exec sh -c "file {} | grep text >/dev/null" \; -print

o

find -type f -exec sh -c "file {} | grep text >/dev/null" \; -ls

Usando -i :

find -type f -exec sh -c "file -i {} | grep -v binary >/dev/null" \; -print

Usando file solo será una aproximación, ya que utiliza heurística para determinar el tipo de archivo y no existe una definición estricta de lo que constituye un archivo "binario". ¿Es un archivo vacío "binario"? file dice que es Además, hay muchas formas (normalmente poco comunes) de activar identificaciones falsas positivas mediante file .


Otra forma sería excluir todos los archivos que tienen un conjunto de permisos de ejecución para usuarios, grupos u otros:

find . -type f ! -perm /u=x,g=x,o=x

(Si binario es igual a permisos de ejecución...)


Linux
  1. ¿Eliminar todos los archivos en un directorio cuyo nombre no coincide con una línea en una lista de archivos?

  2. ¿Obtener una lista de todos los archivos por máscara en la terminal?

  3. ¿Encontrar todos los archivos de Python en el sistema de archivos de Linux?

  4. Cómo encontrar todos los archivos con tamaño de archivo cero (0) bytes en un directorio recursivamente

  5. Enumere recursivamente todos los archivos en un directorio, incluidos los archivos en los directorios de enlaces simbólicos

Cómo encontrar un archivo en Linux en todos los directorios recursivamente

Encuentra archivos perdidos con Scalpel

Listar todos los archivos de imágenes gráficas con find?

Excluir la lista de archivos de la búsqueda

Eliminar archivos coincidentes en todos los subdirectorios

¿Cómo enumerar todos los archivos de una partición en Linux?