Я скачал видео несколько месяцев назад. Я не очень хорошо помню имя, под которым оно сохраняется. Есть ли какая-либо команда или метод, который будет выводить только видеофайлы, чтобы я мог искать там свое видео? На страницах руководства я не смог найти ни одной возможности найти эту работу.
Загруженный мной видеофайл может иметь любое расширение (например, webm и т. Д.), А также возможно, что в то время я изменил название на что-то вроде abcde, которое я сейчас не помню. Таким образом, поиск не может быть основан на имени файла!
(Просто упомяну одно сходство: в Perl есть команды для проверки, является ли файл текстовым или двоичным, и т. Д. Аналогичным образом может быть способ проверить, является ли его видеофайл или мультимедийный файл)
источник
/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 и т. Д.sed
исключать несовпадающие строки (а также возможностьfile
не прерывать строки в неправильном месте), см. Мое редактирование.file
является единственным вариантом.Поиск по имени файла
Как отметил Крис в своем ответе, вы можете использовать
find
это, но я считаю, что поиск поlocate
базе данных гораздо быстрее .Предполагая, что ваш дистрибутив предоставляет эту возможность, большинство крупных компаний, Ubuntu, Fedora, CentOS и т. Д., Делают это.
пример
Поиск по типу файла
Чтобы найти файлы по типу, вы можете использовать команду,
file
чтобы получить список информации о конкретном типе файла.Вот приблизительный список этих типов файлов из моей системы, Fedora 19.
Вы можете использовать эту команду, чтобы найти все файлы в вашем
/home/<user>
каталоге.Кроме того, вы можете использовать
file
и искать по MIME-типы, которые относятся к категории "видео".Адаптируем то, что мы сделали выше, к чему-то вроде этого:
Вы можете использовать,
sed
чтобы получить только имена файлов:источник
locate
установлено, но что база данных построена.avi
.Поскольку теперь вы указываете, что он не может быть основан на расширении, вы также можете просмотреть
file
(предупреждение: это может занять много времени):Если бы вы могли искать по имени файла, предполагая, что оно имеет общее расширение видео и находится где-то в вашем домашнем каталоге:
Вы также можете использовать регулярное выражение:
Если у вас есть хорошее представление о том, когда вы загрузили его (и предполагая, что mtime был установлен на это время), вы также можете попробовать сузить его с помощью
-mtime
опции GNU find .источник
/home/ravbholua/Downloads/Music_Command_line/Any s_w to cut_add audio files, convert video to audio?_files/post_old.gif: image/gif; charset=binary
Другая строка из выходных данных:/home/ravbholua/Downloads/Music_Command_line/command line - how to start a video from the terminal? - Ask Ubuntu.html: text/html; charset=utf-8
Это не решает мою цель.