ファイル名から文字列を入力した順序で検索するには、findコマンドをどのように使用しますか?

ファイル名から文字列を入力した順序で検索するには、findコマンドをどのように使用しますか?

One2つの単語の合計を含むファイル名を見つけようとしているとしますTwo。順序は次の順序でなければなりません。同時に、逆の順序で単語を含むファイルを除外したいと思います。./fksklknejnwjOnesvjnh9uibivuwTwojnwovno./fksklknejnwjTwosvjnh9uibivuwOnejnwovno

これまで私が得たものは次のとおりです。これは、単語の順序が間違っているファイルを除外しません。

find . -type f -name "*One*" -name "*Two*"

この質問が非常に基本的なものであれば、どんな助けでも非常に感謝して申し訳ありません。初心者ですが、ここに初めて投稿してみます。

答え1

-nameテストでは、find一般的なファイル名のグロービングパターンを使用します。パターンは、*One*Two*2つの部分文字列を順番に含むOneすべてTwoの名前と一致します。

だから:

find . -type f -name '*One*Two*'

-name '*One*' -name '*Two*'名前の順序に関係なく、両方の文字列を含むファイルを見つけることができます。 「間違った」単語の順序を持​​つファイルに対して個々のテストが正しいため、除外するファイルが提供されます。

関連情報