Как найти тип файла без использования расширения

Я задаю этот вопрос для запуска команды find.

Я хочу перечислить все mp3 (скажем) с помощью команды find.Как сделать это без расширения.

6
задан 6 July 2011 в 18:56

9 ответов

Это будет сделано почти для всех аудиофайлов. Странно это пропустило некоторые из них, потому что они были типа «application / octet-stream». Возможно, они плохо закодированы.

find -type f -exec file --mime-type '{}' \+ | grep "audio/mpeg"

или без mimetype в списке

find -type f -exec file --mime-type '{}' \+ | grep "audio/mpeg" | sed 's;:\s*audio/mpeg$;;'

6
ответ дан 25 May 2018 в 19:56
  • 1
    Я предлагаю + вместо \; и \s* вместо пространства между : и audio. – enzotib 6 July 2011 в 19:24
  • 2
    Отлично. Но я искал более общее решение, которое будет работать для других типов, таких как картинки или видео. Может ли это быть расширенным? – Mad-scientist 6 July 2011 в 19:46
  • 3
    Эта команда может дать намек на использование типа mime для данного расширения, например, mp3: awk '/mp3/ { print $1 }' /etc/mime.types – enzotib 6 July 2011 в 20:11
  • 4
    Безумный ученый: у каждого файла есть тип. file <file> - лучший способ определить тип файла. Возврат MIME-типа - это только одна возможность. Прочтите man file для получения дополнительной информации. – dAnjou 7 July 2011 в 02:57

Это будет сделано почти для всех аудиофайлов. Странно это пропустило некоторые из них, потому что они были типа «application / octet-stream». Возможно, они плохо закодированы.

find -type f -exec file --mime-type '{}' \+ | grep "audio/mpeg"

или без mimetype в списке

find -type f -exec file --mime-type '{}' \+ | grep "audio/mpeg" | sed 's;:\s*audio/mpeg$;;'

6
ответ дан 25 July 2018 в 21:37

Это будет сделано почти для всех аудиофайлов. Странно это пропустило некоторые из них, потому что они были типа «application / octet-stream». Возможно, они плохо закодированы.

find -type f -exec file --mime-type '{}' \+ | grep "audio/mpeg"

или без mimetype в списке

find -type f -exec file --mime-type '{}' \+ | grep "audio/mpeg" | sed 's;:\s*audio/mpeg$;;'

6
ответ дан 31 July 2018 в 12:22

Это будет сделано почти для всех аудиофайлов. Странно это пропустило некоторые из них, потому что они были типа «application / octet-stream». Возможно, они плохо закодированы.

find -type f -exec file --mime-type '{}' \+ | grep "audio/mpeg"

или без mimetype в списке

find -type f -exec file --mime-type '{}' \+ | grep "audio/mpeg" | sed 's;:\s*audio/mpeg$;;'

6
ответ дан 2 August 2018 в 03:14

Это будет сделано почти для всех аудиофайлов. Странно это пропустило некоторые из них, потому что они были типа «application / octet-stream». Возможно, они плохо закодированы.

find -type f -exec file --mime-type '{}' \+ | grep "audio/mpeg"

или без mimetype в списке

find -type f -exec file --mime-type '{}' \+ | grep "audio/mpeg" | sed 's;:\s*audio/mpeg$;;'

6
ответ дан 4 August 2018 в 19:08

Это будет сделано почти для всех аудиофайлов. Странно это пропустило некоторые из них, потому что они были типа «application / octet-stream». Возможно, они плохо закодированы.

find -type f -exec file --mime-type '{}' \+ | grep "audio/mpeg"

или без mimetype в списке

find -type f -exec file --mime-type '{}' \+ | grep "audio/mpeg" | sed 's;:\s*audio/mpeg$;;'

6
ответ дан 6 August 2018 в 03:25

Это будет сделано почти для всех аудиофайлов. Странно это пропустило некоторые из них, потому что они были типа «application / octet-stream». Возможно, они плохо закодированы.

find -type f -exec file --mime-type '{}' \+ | grep "audio/mpeg"

или без mimetype в списке

find -type f -exec file --mime-type '{}' \+ | grep "audio/mpeg" | sed 's;:\s*audio/mpeg$;;'

6
ответ дан 7 August 2018 в 21:12

Это будет сделано практически для всех аудиофайлов. Странно это пропустило некоторые из них, потому что они были типа «application / octet-stream». Возможно, они плохо закодированы.

find -type f -exec file --mime-type '{}' \ + | grep "audio / mpeg"

или без mimetype в списке

find -type f -exec file --mime-type '{}' \ + | grep "audio / mpeg" | sed 's;: \ s * audio / mpeg $ ;;'

6
ответ дан 10 August 2018 в 09:31

Это будет сделано практически для всех аудиофайлов. Странно это пропустило некоторые из них, потому что они были типа «application / octet-stream». Возможно, они плохо закодированы.

find -type f -exec file --mime-type '{}' \ + | grep "audio / mpeg"

или без mimetype в списке

find -type f -exec file --mime-type '{}' \ + | grep "audio / mpeg" | sed 's;: \ s * audio / mpeg $ ;;'

6
ответ дан 13 August 2018 в 12:59
  • 1
    Я предлагаю + вместо \; и \ s * вместо пространства между : и аудио . – enzotib 6 July 2011 в 19:24
  • 2
    Отлично. Но я искал более общее решение, которое будет работать для других типов, таких как картинки или видео. Может ли это быть расширенным? – Mad-scientist 6 July 2011 в 19:46
  • 3
    Эта команда может дать намек на использование типа mime для данного расширения, например, mp3: awk '/ mp3 / {print $ 1}' /etc/mime.types – enzotib 6 July 2011 в 20:11
  • 4
    Безумный ученый: у каждого файла есть тип. file & lt; file & gt; - лучший способ определить тип файла. Возврат MIME-типа - это только одна возможность. Подробнее читайте файл man . – dAnjou 7 July 2011 в 02:57

Другие вопросы по тегам:

Похожие вопросы: