Mimetype --stdin은 항상 text/plain을 반환합니다.

Mimetype --stdin은 항상 text/plain을 반환합니다.

파일 확장자/inode 데이터를 전달하지 않고 올바른 MIME 유형 정보를 얻는 데 어려움을 겪고 있습니다. 매직을 사용하면 파일이 무엇인지에 관계없이 언제든지 텍스트/일반으로 반환됩니다.

일부 배경 정보.

Linux mimetype이 glob 및 기타 방법을 사용하도록 허용하면 올바르게 작동합니다.

mimetype mountain.jpg

산.jpg: 이미지/jpeg

이 파일이 이미지인지 확인하고 싶어서 매직 검사를 사용하여 작동시키려고 하면 텍스트 파일이라는 메시지가 표시됩니다.

mimetype -M mountain.jpg

산.jpg: 이미지/jpeg

텍스트 파일이 아닌지 확인하기 위해 file 명령을 사용하겠습니다.

file -i mountain.jpg

산.jpg: 이미지/jpeg; 문자셋=바이너리

다음 중 하나를 시도하면 이제 텍스트/일반만 얻을 수 있습니다.

cat mountain_dew-400-400.jpg | mimetype -M --stdin

STDIN: 텍스트/일반

tee mountain_dew-400-400.jpg | mimetype -M --stdin

STDIN: 텍스트/일반

mimetype --stdin - < mountain_dew-400-400.jpg

STDIN: 텍스트/일반

이미 다음 명령을 실행했습니다.

cpan install IO::Scalar
cpan install File::MimeInfo
cpan install File::MimeInfo::Magic

답변1

mimetype --stdin전혀 작동하지 않는 것 같습니다. 제출했습니다데비안 버그 #784545.

해결 방법 file -i -으로 mimetype --stdin.

관련 정보