検索を使用してファイルが表示される場所を見つける方法

検索を使用してファイルが表示される場所を見つける方法

私のシステムには複数のJavaインストールがあり、一部はIDEによって自動的にインストールされており、そのJavaがどこにあるかを知りたいと思います。だから私はlocateそれらを見つけるために使用したいと思います。私の最初の試み

locate java

何千ものビューが見つかりました.*java.*

正確な名前のファイルのみを検索するようにターゲティングを制限する方法はありますか? Javaを含むパスではありません。名前にJavaが含まれるファイルではありません。

PS:以前にも同様の問題があったことがあるので、Java部分は無視してファイルを探す問題として扱ってください。これは、問題が発生したすべての項目を照会することもできますgcc

答え1

からman locate

NAME正確な名前ではないファイルを検索するには、次のようにします *NAME*
locate -b '\NAME'

locate -b '\java'
  • -b- 指定されたパターンを持つデフォルト名のみが一致します。

答え2

locateほとんどの実装では、次のことを行います。

locate '*/java'

動作する必要があります。

パラメータにワイルドカード文字が含まれていない場合、パラメータはファイルパスから文字列として取得されます。

ワイルドカード文字が含まれている場合、ワイルドカード文字はフルパスと一致する必要があります。したがって、ここでは/java

答え3

findポジショニングする方が良い方法かもしれませんJavaファイル名を指定します。

find . -type f -name *java*

それでも検索を有効にするには、次を使用またはlocate -b使用できます。

locate java | grep java$

関連情報