GNU/Linux >> Linux の 問題 >  >> Linux

パス名に特定の順序なしで複数の単語が含まれているファイルを検索しますか?

パス名に複数の単語が含まれているすべてのファイルを検索したい(word1word2 )、それらの間に特定の順序はありません。
一致するファイルの例は次のとおりです。

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つ以上ある場合は、すぐに爆発します。


Linux
  1. 2つの異なる単語が存在するテキストファイルを検索しますか(任意の順序、任意の行)?

  2. ファイル内の複数の文字列のGrepを実行し、サイズ順にファイルを一覧表示しますか?

  3. GUIを使用してGnomeでファイルを検索する方法は?

  1. ファイルを検索して 1 つの zip ファイルに圧縮する方法

  2. 日付範囲内で作成されたファイルを検索

  3. 特定の検索文字列を含まないファイルを見つける方法

  1. サイズと拡張子でファイルを検索する方法は?

  2. パターンに一致する特定のファイルを検索する方法は?

  3. Linuxでファイルを検索するには、検索と検索を使用します