파일 확장자/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
.