GNU/Linux >> Tutoriales Linux >  >> Linux

¿Qué hace que Grep considere que un archivo es binario?

Tengo algunos volcados de bases de datos de un sistema Windows en mi caja. Son archivos de texto. Estoy usando cygwin para grep a través de ellos. Estos parecen ser archivos de texto sin formato; Los abro con editores de texto como el bloc de notas y el wordpad y se ven legibles. Sin embargo, cuando ejecuto grep en ellos, dirá binary file foo.txt matches .

He notado que los archivos contienen algo de ascii NUL caracteres, que creo que son artefactos del volcado de la base de datos.

Entonces, ¿qué hace que grep considere que estos archivos son binarios? El NUL ¿personaje? ¿Hay una bandera en el sistema de archivos? ¿Qué debo cambiar para que grep me muestre las coincidencias de línea?

Respuesta aceptada:

Si hay un NUL carácter en cualquier parte del archivo, grep lo considerará como un archivo binario.

Puede haber una solución como este archivo cat | tr-d'

Linux
  1. ¿Qué es un archivo .so.2?

  2. Cómo suprimir los resultados de coincidencia de archivos binarios en grep

  3. ¿Qué es un archivo .so?

  4. ¿Qué podría causar que el comando de archivo en Linux informe un archivo de texto como datos binarios?

  5. Redirigir strace al archivo

¿Qué es umask en Linux?

¿Cómo eliminar "datos binarios" de un archivo de texto (por ejemplo, Bash_history)?

¿Leyendo patrones Grep de un archivo?

¿Qué es el archivo .bashrc en Linux?

¿Qué es el Protocolo de transferencia de archivos (FTP)?

¿Qué es un archivo .sh?