¿Qué constituye "binario"? Todos los archivos son binarios cuando te pones a ello.
Billy ONeal
Respuestas:
7
file /usr/bin/file, por ejemplo, no incluye la palabra "binario" en su salida en mi sistema. Si file -iestá disponible, incluye la palabra "binario". Sin esto -i, puede ser más confiable probar 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
Utilizando -i:
find -type f -exec sh -c "file -i {} | grep -v binary >/dev/null" \; -print
Usar filesolo será una aproximación, ya que está usando la heurística para determinar el tipo de archivo y no existe una definición rápida de lo que constituye un archivo "binario". ¿Es un archivo vacío "binario"? filedice que es. Además, hay muchas formas (normalmente poco comunes) de activar identificaciones falsas positivas file.
muestra todos los archivos sin permisos ejecutables (aunque esto no es específicamente binario, por lo que puede que no sea exactamente lo que necesita):
Respuestas:
file /usr/bin/file
, por ejemplo, no incluye la palabra "binario" en su salida en mi sistema. Sifile -i
está disponible, incluye la palabra "binario". Sin esto-i
, puede ser más confiable probar la presencia de la palabra "texto".o
Utilizando
-i
:Usar
file
solo será una aproximación, ya que está usando la heurística para determinar el tipo de archivo y no existe una definición rápida 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 positivasfile
.fuente
Otra forma sería excluir todos los archivos que tienen permisos de ejecución establecidos para usuarios, grupos u otros:
(Si binario es igual a ejecutar permisos ...)
fuente
muestra todos los archivos sin permisos ejecutables (aunque esto no es específicamente binario, por lo que puede que no sea exactamente lo que necesita):
fuente
find . -type f \! -executable
Ejemplo usando Python y shell:
El elemento clave está en:
que comprueba si el archivo tiene carácter NULL .
fuente
Pruebe el siguiente comando:
fuente
\;
después"{}"
.Si te refieres a archivos normales que básicamente no contienen caracteres NULL , intenta usar GNU
grep
:fuente