正常に見えるテキストファイル(ファイル内のASCII Pascalプログラムテキストとして検出されます)

正常に見えるテキストファイル(ファイル内のASCII Pascalプログラムテキストとして検出されます)

fileコマンドによって検出される「通常の」テキストファイル(英語の文を含む)がありますASCII Pascal program text

Pascalプログラムテキストと一般的なASCII英語テキストの違いは何ですか?

私がやったhead -10 file > tmp

file tmpそれでも表示されますPascaltmpVIで開くとき:set list

HELEN'S BABIES$
$
With some account of their ways, innocent, crafty, angelic, impish,$
witching and impulsive; also a partial record of their actions during$
ten days of their existence$
$
By JOHN HABBERTON$
$
$
$

出力head file | od -c

0000000   H   E   L   E   N   '   S       B   A   B   I   E   S  \n  \n
0000020   W   i   t   h       s   o   m   e       a   c   c   o   u   n
0000040   t       o   f       t   h   e   i   r       w   a   y   s   ,
0000060       i   n   n   o   c   e   n   t   ,       c   r   a   f   t
0000100   y   ,       a   n   g   e   l   i   c   ,       i   m   p   i
0000120   s   h   ,  \n   w   i   t   c   h   i   n   g       a   n   d
0000140       i   m   p   u   l   s   i   v   e   ;       a   l   s   o
0000160       a       p   a   r   t   i   a   l       r   e   c   o   r
0000200   d       o   f       t   h   e   i   r       a   c   t   i   o
0000220   n   s       d   u   r   i   n   g  \n   t   e   n       d   a
0000240   y   s       o   f       t   h   e   i   r       e   x   i   s
0000260   t   e   n   c   e  \n  \n   B   y       J   O   H   N       H
0000300   A   B   B   E   R   T   O   N  \n  \n  \n  \n
0000314

ここにファイルをアップロードする:http://www.fileswap.com/dl/L0eCWJTvy/

バージョンをCentOS release 6.5使用していますfile5.04

4行目に何かがあります。 4行目から削除すると、テキストファイルとしてのみ検出されます。

ベストアンサー1

OS X 10.6.8およびOpenBSD 5.5-現在でこれを再現できました。

デバッグ情報の印刷では、Pascalキーワードが認識される前に、file -D tmpテキストファイルが約2000回のテストに失敗することがわかりました。file(1)recordそしてそれがパスカルプログラムテキストであるべきかどうかを決定します。

最小限の作業例は次のようにして得ることができる。

$ echo record > test
$ file test
test: ASCII Pascal program text

数多くの抽出の終わりに、「組み込みの仮定に基づいた3番目と最後のテストセット」だけが出てきました。ascmagic.c適用可能です。このテストでは、「ファイルのどこにでも表示できるキーワードに基づいて、私たちが知っているファイル形式」を識別します。したがって、ファイルを少し変更しても、そのファイルはASCII English text3行目でtheirtoとして正しく識別されます。the

おすすめ記事