locate "*.png"
は、期待どおり、.png
で終わるすべてのファイルを返します。
locate "test.*"
は何も返しませんが、私のシステムにはtest
という名前のファイルがあります。
locate "*test"
は、期待どおり、test
で終わるすべてのファイルを返します。
locate "test*"
は何も返しませんが、私のシステムにはtest
で始まるファイルがあります。
ワイルドカードが「で終わる」ためだけに機能するように見えるのはなぜですか?
locate "test.*"
は何も返しませんが、私のシステムにはtestという名前のファイルがあります。
.
はドットとして扱われ、正規表現では任意の文字として扱われないため、test.*
はtest
とは一致しませんが、test.foo
と一致します。
locate "test*"
は何も返しませんが、私のシステムにはtest
で始まるファイルがあります。
ストアの検索ファイルへのフルパスなので、testで始まるファイルを検索するには、locate "*/test*"
を使用する必要があります。
最後の点は、locate foo
がfoo
を含むものを見つけるため、混乱する可能性があります。そのため、パターンは*foo*
として解釈されます。パターンにワイルドカードがすでに1つある場合、パターンは星で囲まれていないようです。
免責事項:私はいくつかのテストを行いましたが、これらは私の結論です。非常に初歩的なように思われるマニュアルページを引用してそれらを証明することはできません。