Bao lâu cho lệnh 'tệp' Unix?


16

Khi bạn chuyển một tệp văn bản cho filelệnh Unix , nó có thể cho bạn biết một cái gì đó như:

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

Ai đó có thể cho tôi biết số lượng ký tự tối thiểu mà một dòng phải chứa để được xem là rất dài không? Các trang nam không nói gì về điều này và tôi không muốn tìm kiếm mã nguồn. Nếu ai đó có thể cho tôi biết cách đặt câu hỏi này vào truy vấn Google mà không trả về một tỷ kết quả, thì hầu như tất cả đều không liên quan, tôi cũng sẽ rất vui.

unix  shell 

3
Bỏ phiếu để chuyển sang superuser do miễn cưỡng tìm kiếm mã nguồn.
Greg Hewgill

Các bạn có một điểm - Tôi sẽ tìm kiếm mã nguồn vào lần tới. Dù sao cũng cảm ơn!

Câu trả lời:


23

Từ ascmagic.ctrong gói nguồn tệp trên 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')

Có vẻ như một dòng cần phải có hơn 300 ký tự để được coi là "rất dài".



7

Brute force (cộng với đây là một chương trình, phải không? Vì vậy, nó làm cho chương trình có liên quan?):

$ 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

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.