当您将文本文件传递给 Unixfile
命令时,它可能会告诉您类似的内容:
input.txt: UTF-8 Unicode English text, with very long lines
有人能告诉我一行必须包含的最少字符数吗很长?手册页没有提到这一点,我也不想搜索源代码。如果有人能告诉我如何将这个问题放入 Google 查询中,而不会返回十亿条结果,而且几乎所有结果都是无关紧要的,我也会很高兴。
答案1
从ascmagic.c
文件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')
似乎一行需要超过 300 个字符才被认为“非常长”。
答案2
超过300个字符,根据源代码中ascmagic.c的第52行和214-215行。
源代码可以在这里找到(链接取自 Debian 手册页file
):
ftp://ftp.astron.com/pub/file/
答案3
暴力破解(另外这是一个程序,对吧?所以它与编程相关?):
$ 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
答案4
如果一行超过 300 个字符,则认为该行很长。