パス名に単語間に特定の順序がない複数の単語を含むファイルを検索する

パス名に単語間に特定の順序がない複数の単語を含むファイルを検索する

パス名に特定の順序なしで複数の単語(word1、)を含むすべてのファイルを検索したいと思います。word2一致するファイルの例は次のとおりです。

word1bar/fooword2/myfile
fooword2/word1bar/myfile
fooword2/bar/word1myfile

どのコマンドでタスクを解決できますか?

次のコマンドが機能するようです。

find . -regex regexpattern

ありがとうございます。

私の解決locate検索とgrepパイプラインを使用したパス名によるファイル検索が改善されました。

答え1

これは単一パターン(正規表現またはシェル)を使用することは困難ですが、複数のfind条件を使用できるため、次のことができます。

find . -type f -path "*word1*" -path "*word2*" ...

正規表現では、単語のさまざまな順列をすべて指定する必要があります.*word1.*word2.*|.*word2.*word1.*(例:EREまたはPerl REのみ)。複数の単語を見つけるために、問題はすぐに解決されます。

関連情報