정상적으로 보이는 텍스트 파일(파일에서 ASCII Pascal 프로그램 텍스트로 감지됨)

정상적으로 보이는 텍스트 파일(파일에서 ASCII Pascal 프로그램 텍스트로 감지됨)

file명령에 의해 감지되는 "정상적인" 텍스트 파일(영어 문장 포함)이 있습니다 ASCII Pascal program text.

Pascal 프로그램 텍스트와 일반 ASCII 영어 텍스트의 차이점은 무엇입니까?

내가 해냈어head -10 file > tmp

file tmp여전히 표시됩니다 Pascal. tmpVI에서 열 때: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

수많은 추출 끝에 "내장된 가정을 기반으로 한 세 번째이자 마지막 테스트 세트"만 나왔습니다.ascmagic.c적용 가능합니다. 이 테스트는 "파일의 어느 곳에나 나타날 수 있는 키워드를 기반으로 우리가 알고 있는 파일 형식"을 식별합니다. 따라서 파일을 조금만 변경해도 해당 파일이 ASCII English text세 번째 줄에서 theirto로 올바르게 식별됩니다.the

관련 정보