Поиск по имени файла
Как отметил Крис в своем ответе, вы можете использовать find
это, но я считаю, что поиск по locate
базе данных гораздо быстрее .
Предполагая, что ваш дистрибутив предоставляет эту возможность, большинство крупных компаний, Ubuntu, Fedora, CentOS и т. Д., Делают это.
пример
$ locate --basename .mp4 .mkv .wmv .flv .webm .mov .avi | head -5
/home/saml/Desktop/sample_mpeg4.mp4
/home/saml/Downloads/Karrolls_Christmas/Karroll's Christmas (2004) part 1.mp4
/home/saml/Downloads/Karrolls_Christmas/Karroll's Christmas (2004) part 10.mp4
/home/saml/Downloads/Karrolls_Christmas/Karroll's Christmas (2004) part 2.mp4
/home/saml/Downloads/Karrolls_Christmas/Karroll's Christmas (2004) part 3.mp4
Поиск по типу файла
Чтобы найти файлы по типу, вы можете использовать команду, file
чтобы получить список информации о конкретном типе файла.
Вот приблизительный список этих типов файлов из моей системы, Fedora 19.
- .mp4: ISO Media, система MPEG v4, версия 1
- .mkv: файл EBML, создатель matroska
- .wmv: Microsoft ASF
- .flv: Macromedia Flash Video
- .webm: WebM
- .mov: ISO Media, фильм Apple QuickTime
- .avi: AVI
Вы можете использовать эту команду, чтобы найти все файлы в вашем /home/<user>
каталоге.
$ find /home/<user> -type f -exec file {} + | \
grep -E "MPEG v4|EBML|\
Microsoft ASF|Macromedia Flash Video|WebM|Apple QuickTime movie|AVI"
Кроме того, вы можете использовать file
и искать по MIME-типы, которые относятся к категории "видео".
-i, --mime
Causes the file command to output mime type strings rather than
the more traditional human readable ones. Thus it may say
‘text/plain; charset=us-ascii’ rather than “ASCII text”.
Адаптируем то, что мы сделали выше, к чему-то вроде этого:
$ find /home/<user> -type f -exec file -i {} + | grep video
Вы можете использовать, sed
чтобы получить только имена файлов:
$ find /home/<user> -type f -exec file -i {} + |
sed -n '/video/s/:[^:]\+$//p'
/home/ravbholua/Downloads/Music_Command_line/[SOLVED] a code question regarding music file extensions_files/avatar774785_6.gif: image/jpeg; charset=binary
Другая строка вывода:/home/ravbholua/Free Computer Networking Books Download | Ebooks Online Textbooks.html: text/html; charset=iso-8859-1
мне нужны только видеофайлы, которые будут работать в vlc player и т. Д.