検索検索を特定のディレクトリに制限する

検索検索を特定のディレクトリに制限する

locateMac OS X Snow Leopardから特定のディレクトリに出力を制限する方法はありますか? Ubuntuフォーラムで正規表現の使用について読みました。しかし、私のMacではこのオプションはlocate許可されていません-r。 Macではターゲティングページも見ましたが、オプションはmanありません-r

ありがとうございます。

答え1

検索の検索パターンにシェルワイルドカードを使用します。この機能はユーティリティの歴史的機能であり、すべてのシステムでサポートする必要があります。

たとえば、

$ locate '*/dirname/*filename*'

検索文字列の周り(または少なくとも前に)にアスタリスクを使用する必要があります。ワイルドカードを使用すると、locateロジックが切り替えられ、検索文字列が検索データの先頭と末尾に固定されるためです。

答え2

別のバージョンの検索をインストールする必要があるようです。確認するOS Xシステムはありませんが、macportsにslocateがあるようで、インストールも簡単になりそうで、必須オプションもあるようです。

答え3

試してmdfindみてください。

$ mdfind -onlyin $HOME iTunes

* このユーティリティは、md次のデータベースを使用します。スポットライト

答え4

grep次のコマンドを使用して混合してみることができます。

locate hosts | grep ^/etc

または:

locate php | grep -e ^/etc -e ^/usr/local/etc

複数のディレクトリを表示します。

この機能を頻繁に使用する場合は、そのラッパーを作成してください。

関連情報