Quanto dura il comando 'file' di Unix?


16

Quando passi un file di testo al filecomando Unix , potrebbe dirti qualcosa del tipo:

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

Qualcuno può dirmi il numero minimo di caratteri che una riga deve contenere per essere considerata molto lunga ? Le pagine man non dicono nulla al riguardo e non voglio cercare il codice sorgente. Se qualcuno può dirmi come inserire questa domanda in una query di Google che non restituisce un miliardo di risultati, quasi tutti irrilevanti, sarei anche felice.

unix  shell 

3
Vota per passare al superutente a causa della riluttanza a cercare il codice sorgente.
Greg Hewgill,

Ragazzi, avete ragione: cercherò il codice sorgente la prossima volta. Grazie comunque!

Risposte:


23

Da ascmagic.cnel pacchetto sorgente file su 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')

Sembra che una linea debba contenere più di 300 caratteri per essere considerata "molto lunga".



7

Forza bruta (in più questo è un programma, giusto? Quindi lo rende legato alla programmazione?):

$ 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

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.