FreeBSDサーバー上に、ディレクトリの任意の「ビュー」を作成できる簡単なフィルタリングシステムをセットアップしたいと思います。
たとえば、パターン「* .mp3」に一致するすべてのディレクトリを一覧表示できるようにしたいのですが、ディレクトリ名のみを表示します。
たとえば、音楽フォルダでコマンドを実行した場合、mp3を含むすべてのディレクトリを1つのコマンドで表示し、flacファイルを含むすべてのディレクトリを別のコマンドとして表示できるようにしたいと思います。
コマンド find . -name "*.mp3"
ほぼ私が望むことを実行しますが、ファイルごとに1つのエントリが表示されます。検索をディレクトリごとに1つの結果に制限する方法はありますか?
このスクリプトを使用します。
find / -name "*.mp3" | grep -o '.*/' | sort | uniq > mp3files
どうですか:
見つける。 -name '* .mp3' -print0 | xargs -0 -i dirname {} | uniq
私は次のようなものを手に入れます:
./mnt/mp3/Adicts/Complete Singles Collection(1995)
./mnt/mp3/Adicts/Rise and Shine(2002)
./mnt/mp3/Adicts/Songs of Praise(1981)
./mnt/mp3/Adicts/27(1992)
./mnt/mp3/Adicts/Ultimate Addiction
./mnt/mp3/Adicts/Very Best Of Adicts(1998)