file
sigue siendo el comando que desea. Cualquier archivo que sea texto (según su heurística) incluirá la palabra "texto" en la salida de file
; todo lo que sea binario no incluirá la palabra "texto".
Si no está de acuerdo con las heurísticas que file
usa para determinar texto versus no texto, entonces la pregunta debe especificarse mejor, ya que texto versus no texto es una pregunta inherentemente vaga. Por ejemplo, file
no identifica un bloque de clave pública PGP en ASCII como "texto", pero podría identificarlo (ya que está compuesto solo de caracteres imprimibles, aunque no es legible por humanos).
El manual diff especifica que
diff determina si un archivo es texto o binario comprobando los primeros bytes del archivo; el número exacto de bytes depende del sistema, pero suele ser de varios miles. Si cada byte en esa parte del archivo no es nulo, diff considera que el archivo es texto; de lo contrario, considera que el archivo es binario.