ファイル名で検索する
クリスが答えで述べたように、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メディア、MPEG v4システム、バージョン1
- .mkv:EBMLファイル、作成者matroska
- .wmv:Microsoft ASF
- .flv:Macromedia Flashビデオ
- .webm:WebM
- .mov:ISOメディア、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プレーヤーで実行される唯一のビデオファイルなどを必要とする