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.

unix  shell 

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".



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 utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.