“归档”的指标是什么` 用于确定类似文本文件的类型?

“归档”的指标是什么` 用于确定类似文本文件的类型?

我有一堆 LaTeX 源文件,都具有相同的结构,都具有 Unix 风格的行结尾,并且都是 UTF-8,大小大致相同(1-2KB),都使用空格进行缩进格式。它们包含在一个更大的文档中,每个文件处理文档中的一个单独部分,每个部分都具有相同的布局(因此每个文件的结构相同,具有基本相同的 LaTeX 命令,只是文本内容不同),因此所有文件都直接启动/end 包含许多 LaTeX 命令。现在奇怪的是:

$ file *.tex
file1.tex: LaTeX document, Unicode text, UTF-8 text
file2.tex: CSV text

这只是一小段摘录,CSV 与 LaTeX 的检测完全是随机的,而 CSV 的检测频率稍低(可能 40% CSV,60% LaTeX),但对于每个文件,类型是可重现的。

我尝试改变 CSV 检测到的文件中的一些格式和内容,但它们仍然被检测为 CSV。

这里发生了什么?

答案1

大多数文件类型检测都是file基于“魔法”值,描述在一大堆文件中; TeX 文件有自己的一套检测秘方

然而 CSV 文件的处理方式有所不同,file本身就有专门的例程。这会计算文件前十行中以逗号分隔的字段。如果每行至少有两个字段,并且文件中至少有两行,并且前十行(如果少于十行则为整个文件)的字段数量相同,则该文件被识别为 CSV 文件。

可以使用以下选项禁用 CSV 检测-e

file -e csv -- *.tex

相关内容