Berapa lama untuk perintah 'file' Unix?

16

Ketika Anda mengirimkan file teks ke fileperintah Unix , itu mungkin memberi tahu Anda sesuatu seperti:

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

Adakah yang bisa memberi tahu saya jumlah karakter minimum yang harus dimiliki suatu baris untuk dianggap sangat lama ? Halaman manual tidak mengatakan apa-apa tentang ini dan saya tidak ingin mencari kode sumber. Jika seseorang dapat memberi tahu saya cara memasukkan pertanyaan ini ke dalam kueri Google yang tidak menghasilkan satu miliar hasil, hampir semuanya tidak relevan, saya juga akan senang.


sumber
3
Pilih untuk pindah ke superuser karena keengganan untuk mencari kode sumber.
Greg Hewgill
Kalian ada benarnya - saya akan mencari kode sumber waktu berikutnya. Bagaimanapun, terima kasih!

Jawaban:

23

Dari ascmagic.cdalam paket sumber file di 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')

Sepertinya garis harus lebih dari 300 karakter agar dianggap "sangat panjang".

BastiBen
sumber
7

Lebih dari 300 chacracters, sesuai dengan baris 52 dan 214-215 dalam ascmagic.c dalam kode sumber.

Kode sumber dapat ditemukan di sini (tautan diambil dari halaman manual Debian untuk file): ftp://ftp.astron.com/pub/file/

Emil Vikström
sumber
7

Brute force (plus ini adalah sebuah program, bukan? Jadi itu membuatnya terkait pemrograman?):

$ 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
Dijeda sampai pemberitahuan lebih lanjut.
sumber
2

Garis dianggap panjang jika memiliki lebih dari 300 karakter.

Andrew McGregor
sumber