web-dev-qa-db-ja.com

Sublime 3で複数のファイルの複数の文字列を検索

私はSublime 3で複数のファイルで単一の文字列を一度に検索する方法を知っています(説明 ここ )。

私がする必要があるのは、いくつかのファイルで複数の文字列を検索することです。 Find in filesおよび設定:

Field:  string1 \& string2
Where: /path_to_folder_containing_the_files_I_want_to_ search/

(どこ string1およびstring2は私が検索したい文字列です)が、うまくいかないようです。

これはまったくできますか?

23
Gabriel

この古い質問に出くわし、自分のソリューションを追加すると思いました。これは将来誰かに役立つかもしれません。

Sublimeは、開いているすべてのフォルダーの検索をサポートし、正規表現を使用できます。そのため、両方を利用して、検索するすべてのフォルダーをプロジェクトに開いたり追加したり、regexを使用して複数のキーワードを検索したりできます。あなたの場合、次のようになります(正規表現ボックス.*アイコン):

Find: (string1|string2)
Where: <open folders>
34
Sherzod

私はこれを使用します:

チェック正規表現

Find: (string1.*string2)

Where: *.php
2
koshin

いいえ、私が知っている他のほとんどのエディターのように、Sublimeで一度に検索できるのは1つだけです。これを回避する唯一の方法は、正規表現検索を使用して(検索語を入力するときにフィールドの左端のボタンをクリックして)、探しているすべてのものに一致する適切な正規表現を見つけ出すことです。または、一度に各一致を検索することもできます。

別の方法として、grepsedawkなどの標準のコマンドラインテキスト処理ユーティリティをブラッシュアップすることを検討してください。シェルのコマンドパイピング機能とそのパワーを組み合わせることで、次のようなコマンドを実行します。

grep -e "foo" *.txt | grep -e "bar"

現在のディレクトリにあるすべての.txtファイルからパターンfooを検索します。その後、すべての結果の行でパターンbarが再び検索されるため、最終的な出力はfoobarの両方を任意の順序で。

0
MattDMo

Sublime Text2でこれを試したので、Sublime Text3でも動作するはずです。

フィールド:string1 string2 string3 string4場所:/ path_to_folder_taining_the_files_I_want_to_ search /

注:「。*」のチェックを外すと正規表現を意味し、「」のチェックはWord全体を検索することを意味します。

これは、前述のフォルダー内のすべてのファイルでパターン「string1 string2 string3 string4」を検索します。

0
Anamitra