.ipynb
텍스트 파일인 많은 파일(Jupyter Notebooks)이 있습니다 . 이들 모두에는 일부 LaTeX 마크업이 포함되어 있습니다. 하지만 실행하면 다음과 같은 file
결과를 얻습니다.
$ file nb_*
nb_1.ipynb: ASCII text
nb_2.ipynb: ASCII text
nb_3.ipynb: ASCII text, with very long lines
nb_4.ipynb: LaTeX document, ASCII text, with very long lines
nb_5.ipynb: text, with very long lines
file
이것을 어떻게 구별하나요? 모든 파일이 동일한 유형이기를 원합니다.
(파일이 왜 같은 형식이어야 하나요? 공유하기 위해 온라인 시스템에 업로드합니다. 시스템은 어떻게든 파일을 분류하고 다르게 취급하므로 이를 변경하는 것은 불가능합니다. 플랫폼이 사용하거나 file
가능하다고 생각합니다.libmagic내부적으로 이 문제를 해결하기 위해 노력하고 있습니다. )
답변1
파일 유형 인식은 소위마법
모델. 이것분석용 매직 파일
텍스
시리즈 소스 코드에는 파일을 다음과 같이 분류하는 많은 매크로 이름이 포함되어 있습니다.유제. 각 게임에는 하나씩 할당됩니다.
힘예를 들어 15는 \begin
, 18은 을 의미합니다
\chapter
. 이는 이러한 이름으로 자체 매크로를 정의하는 Plain TeX 또는 ConTeXt 문서의 잘못된 분류와 같은 거짓 긍정에 대해 휴리스틱을 더욱 강력하게 만듭니다.
답변2
file
파일을 LaTeX로 분류하는 것으로 보이는 문자열을 찾았습니다 .
$ cat text
a
b
$ cat latex
a
\begin
b
$ file text latex
text: ASCII text
latex: LaTeX document, ASCII text
따라서 적어도 현재 텍스트로 분류된 파일에 일부 환경을 추가하여 모든 파일을 동일한 유형으로 만들 수 있습니다.