Quanto tempo demora o comando 'arquivo' do Unix?


16

Quando você passa um arquivo de texto para o filecomando Unix , pode dizer algo como:

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

Alguém pode me dizer o número mínimo de caracteres que uma linha deve conter para ser considerado muito longo ? As páginas de manual não dizem nada sobre isso e eu não quero pesquisar o código fonte. Se alguém puder me dizer como colocar essa pergunta em uma consulta do Google que não retorne um bilhão de resultados, quase todos irrelevantes, eu ficaria feliz também.

unix  shell 

3
Vote na mudança para o superusuário devido à relutância em procurar o código fonte.
Greg Hewgill

Vocês têm razão - vou procurar o código fonte da próxima vez. Obrigado de qualquer forma!

Respostas:


23

De ascmagic.cno pacote de origem do arquivo no 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 uma linha precisa ter mais de 300 caracteres para ser considerada "muito longa".



7

Força bruta (além disso, este é um programa, certo? Portanto, relacionado à programação?):

$ 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

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.