web-dev-qa-db-ja.com

正規表現に一致するファイルを含むディレクトリを一覧表示します

FreeBSDサーバー上に、ディレクトリの任意の「ビュー」を作成できる簡単なフィルタリングシステムをセットアップしたいと思います。

たとえば、パターン「* .mp3」に一致するすべてのディレクトリを一覧表示できるようにしたいのですが、ディレクトリ名のみを表示します。

たとえば、音楽フォルダでコマンドを実行した場合、mp3を含むすべてのディレクトリを1つのコマンドで表示し、flacファイルを含むすべてのディレクトリを別のコマンドとして表示できるようにしたいと思います。

コマンド find . -name "*.mp3"ほぼ私が望むことを実行しますが、ファイルごとに1つのエントリが表示されます。検索をディレクトリごとに1つの結果に制限する方法はありますか?

5
javanix

このスクリプトを使用します。

find / -name "*.mp3" | grep -o '.*/' | sort | uniq > mp3files
3
Farhan

どうですか:

見つける。 -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)

4
matt