Combien de temps est long pour la commande 'file' d'Unix?

16

Lorsque vous passez un fichier texte à la filecommande Unix , il peut vous indiquer quelque chose comme:

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

Quelqu'un peut-il me dire le nombre minimum de caractères qu'une ligne doit contenir pour être considérée comme très longue ? Les pages de manuel ne disent rien à ce sujet et je ne veux pas rechercher le code source. Si quelqu'un peut me dire comment mettre cette question dans une requête Google qui ne renvoie pas un milliard de résultats, dont presque tous ne sont pas pertinents, je serais heureux aussi.


la source
3
Votez pour passer au superutilisateur en raison de la réticence à rechercher le code source.
Greg Hewgill
Vous avez raison - je rechercherai le code source la prochaine fois. Merci quand même!

Réponses:

23

À partir ascmagic.cdu package de source de fichiers sur 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')

Il semble qu'une ligne doit comporter plus de 300 caractères pour être considérée comme "très longue".

BastiBen
la source
7

Plus de 300 caractères, selon les lignes 52 et 214-215 dans ascmagic.c dans le code source.

Le code source peut être trouvé ici (lien récupéré depuis la page de manuel Debian pour file): ftp://ftp.astron.com/pub/file/

Emil Vikström
la source
7

Force brute (en plus c'est un programme, non? Donc ça le rend lié à la programmation?):

$ 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
En pause jusqu'à nouvel ordre.
la source
2

Une ligne est considérée comme longue si elle comporte plus de 300 caractères.

Andrew McGregor
la source