Я планирую загрузить кучу изображений с веб-сайта, которые не имеют расширения, поэтому я хочу добавить его в зависимости от содержимого файла или mime-типа.
file <filename>
отлично справляется с определением типа файла , однако мне нужно расширение.
--extension
Print a slash-separated list of valid extensions for the file type found.
Это из file
страницы файла , но она не работает:
$ file --extension test_text_file.txt
test_text_file.txt: ???
$ file --extension test_png_file.png
test_png_file.png: ???
$ file --extension test_gif_file.gif
test_gif_file.gif: ???
Это буквально печатает ???
для каждого файла, который я передаю, даже те, которые уже имеют правильное расширение. Все они являются действительными файлами своего типа и отлично распознаются по file
без --extension
.
Почему file --extension
не работает для меня и что я могу использовать, чтобы получить расширение файла?
Идея состоит в том, чтобы использовать file --mime-type
а затем создать массив таблицы диспетчеризации, который отображает известные mime-типы на их расширения, но я бы предпочел иметь более простое и безопасное решение.