Подтвердить что ты не робот

Поиск нескольких строк в нескольких файлах с помощью Sublime 3

Я знаю, как искать одну строку в нескольких файлах одновременно с Sublime 3 (объясняется здесь).

Мне нужно выполнить поиск нескольких строк в нескольких файлах. Я попытался перейти к Find in files и установил:

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

(где string1 и string2 - строки, которые я хочу найти), но это не работает.

Можно ли это сделать вообще?

4b9b3361

Ответ 1

Просто наткнулся на этот старый вопрос и подумал, что я добавлю свое решение, которое может быть полезно кому-то в будущем.

Sublime поддерживает поиск во всех открытых папках и может использовать регулярное выражение. Таким образом, используя оба варианта, вы можете открыть или добавить все папки, которые хотите найти в проекте, и использовать регулярное выражение для поиска нескольких ключевых слов. В вашем случае это будет следующее (убедитесь, что проверили значок regex box .*):

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

Ответ 2

Я попробовал это на Sublime Text2, поэтому должен работать и с Sublime Text3.

Поле: string1 string2 string3 string4 Где:/path_to_folder_containing_the_files_I_want_to_ search/

Примечание: снимите флажок ". *", что означает "Регулярное выражение" и отметьте "", что означает поиск целого слова.

Это приведет к поиску шаблона "string1 string2 string3 string4" во всех файлах указанной папки.

Ответ 3

Нет, вы можете искать только одно за раз в Sublime, как и большинство других редакторов, о которых я знаю. Единственный возможный способ этого - использовать поиск в регулярном выражении (нажмите кнопку в левом углу поля при вводе поискового запроса) и придумайте хорошее регулярное выражение, соответствующее всем вещам, которые вы ищете. Или вы можете просто искать каждый матч по одному.

В качестве альтернативы рассмотрим возможность очистки стандартных служебных программ обработки текста командной строки, таких как grep, sed, awk и т.д. Объединение их возможностей с возможностями командной строки оболочки позволяет запускать команды, такие как:

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

который будет искать через все .txt файлы в текущем каталоге для шаблона foo, тогда все результирующие строки снова будут искать шаблон bar, так что конечный вывод будет иметь как foo, так и bar в них, в любом порядке.