file
명령에 의해 감지되는 "정상적인" 텍스트 파일(영어 문장 포함)이 있습니다 ASCII Pascal program text
.
Pascal 프로그램 텍스트와 일반 ASCII 영어 텍스트의 차이점은 무엇입니까?
내가 해냈어head -10 file > tmp
file tmp
여전히 표시됩니다 Pascal
.
tmp
VI에서 열 때: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
사용하고 있습니다file
5.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
세 번째 줄에서 their
to로 올바르게 식별됩니다.the