パス名に複数の単語が含まれているすべてのファイルを検索したい(word1
、word2
)、それらの間に特定の順序はありません。
一致するファイルの例は次のとおりです。
word1bar/fooword2/myfile
fooword2/word1bar/myfile
fooword2/bar/word1myfile
どのコマンドでタスクを解決できますか?
このようなコマンドが機能すると思います:
find . -regex regexpattern
ありがとう。
locate
を使用した私のソリューション Locateおよびgrepパイプラインを使用してパス名によるファイルの検索を改善する
承認された回答:
単一のパターン(正規表現またはシェル)で行うのは難しいですが、find
複数の条件を取ることができます、私たちは使用することができます
find . -type f -path "*word1*" -path "*word2*" ...
正規表現では、.*word1.*word2.*|.*word2.*word1.*
のように、単語のさまざまな順列をすべて指定する必要があります。 (EREまたはPerl REのみ)。検索したい単語が2つ以上ある場合は、すぐに爆発します。