¿Cuánto tiempo dura el comando 'archivo' de Unix?


16

Cuando pasa un archivo de texto al filecomando Unix , puede decirle algo como:

input.txt: UTF-8 Unicode English text, with very long lines

¿Alguien puede decirme la cantidad mínima de caracteres que debe contener una línea para que se considere muy larga ? Las páginas del manual no dicen nada sobre esto y no quiero buscar el código fuente. Si alguien puede decirme cómo incluir esta pregunta en una consulta de Google que no devuelve mil millones de resultados, casi todos irrelevantes, también estaría feliz.

unix  shell 

3
Vote para pasar al superusuario debido a la renuencia a buscar el código fuente.
Greg Hewgill

Ustedes tienen un punto: buscaré el código fuente la próxima vez. ¡Gracias de todos modos!

Respuestas:


23

Desde ascmagic.cel paquete fuente del archivo en Ubuntu:

#include "names.h"

#define MAXLINELEN 300  /* longest sane line length */
#define ISSPC(x) ((x) == ' ' || (x) == '\t' || (x) == '\r' || (x) == '\n' \
          || (x) == 0x85 || (x) == '\f')

Parece que una línea debe tener más de 300 caracteres para ser considerada "muy larga".


7

Más de 300 caracteres, de acuerdo con las líneas 52 y 214-215 en ascmagic.c en el código fuente.

El código fuente se puede encontrar aquí (enlace obtenido de la página de manual de Debian file): ftp://ftp.astron.com/pub/file/


7

Fuerza bruta (además, este es un programa, ¿verdad? ¿Entonces lo hace relacionado con la programación?):

$ for i in {1..301}; do printf "%${i}s" "." | file - | grep very && echo $i; done
/dev/stdin: very short file (no magic)
1
/dev/stdin: ASCII text, with very long lines, with no line terminators
301

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.