実行すると、ファイル名に表示されるファイルがlocate syn
返されます。syn
そのフルネームを持つファイルを検索するにはsyn
?locate --regex syn$
正しいアプローチですが、そうではlocate --regex ^syn$
ありませんか?
答え1
この--regex
オプションは、ファイル名だけでなくフルパスにも適用されます。したがって、locate --regex syn$
パス(名前を含む)が次に終わるすべてのファイルとディレクトリは一致しますが、フルパスは次のようになり、syn
そのlocate --regex syn$
ファイルsyn
が存在しないファイルのみが一致します。
$ locate --regex ^etc$ ## returns nothing
$ locate --regex ^/etc$
/etc
あなたが探しているオプションは次のとおりです-b
。
-b, --basename
Match only the base name against the specified patterns. This
is the opposite of --wholename.
したがって、あなたはできます
locate -b --regex ^sys$
locatedb
名前が正確に 。すべてのファイルとフォルダが一覧表示されますsys
。