ディレクトリに名前が含まれている場合、検索は繰り返しを停止します。

ディレクトリに名前が含まれている場合、検索は繰り返しを停止します。

場合によっては、検索を使用すると、私の検索文字列が(偶然であっても意図的に)ディレクトリの一部と一致することがあります。これにより、ディレクトリ内の対応するポイントの下にあるすべてのエントリが印刷されます。たとえば、

$ locate lib
/home/myname/libImWorkingOn/libImWorkingOn.so
/lib/
/lib/modules/
/lib/firmware/
.... etc

これにより、迅速に制御できなくなり、検索が困難になる可能性があります。

これを防ぐ方法はありますか?たとえば、次のように印刷してみましょう。

$locate lib
/home/myname/libImWorkingOn/libImWorkingOn.so
/lib/

それはすべてですか?

また、ディレクトリを探して探すようにすることは可能ですか?

たとえば(qemuのデフォルトフォルダを探します)

実際:

$locate qemu
home/myname/qemu
home/myname/qemu/.svn
home/myname/qemu/.svn/.....
home/myname/qemu/Makefile
.....
usr/bin/qemu
.....

期待する:

$locate (option) qemu
/home/myname/qemu
/usr/bin/qemu

ベストアンサー1

mlocateバージョンのあるシステムでは、locateまたはオプションを使用して一致を制限できます。-b--basename

locate -b lib

...これは、名前に対応する文字列を含むファイルに結果を制限します。私のシステムでは、一致するものははるかに少ないです。

$ locate lib | wc -l
28901
$ locate -b lib | wc -l
3430

おすすめ記事