使用Sublime 3在多个文件中搜索多个字符串

问题描述 投票:23回答:4

我知道如何使用Sublime 3在几个文件中搜索单个字符串(解释here)。

我需要做的是在几个文件中搜索多个字符串。我试过去Find in files并设置:

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

(其中string1string2是我想要搜索的字符串)但这似乎不起作用。

这可以完成吗?

sublimetext sublimetext3
4个回答
34
投票

刚刚遇到这个老问题,并认为我会添加我的解决方案,这可能对将来的某些人有用。

Sublime支持在所有打开的文件夹中搜索,并且可以使用正则表达式。因此,利用这两者,您可以打开或添加要搜索到项目的所有文件夹,并使用正则表达式搜索多个关键字。在你的情况下,它将是以下(确保检查正则表达式框.*图标):

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

2
投票

我用这个:

检查正则表达式

Find: (string1.*string2)

Where: *.php

0
投票

不,你只能在Sublime中一次搜索一件事,就像我所知道的其他大多数编辑一样。唯一可行的方法是使用正则表达式搜索(在输入搜索词时单击字段最左侧的按钮),然后找到一个匹配您正在寻找的所有内容的正确的正则表达式。或者,您可以一次只搜索一个匹配项。

作为替代方案,请考虑使用标准的命令行文本处理实用程序,如grepsedawk等。将它们的功能与shell的命令管道功能结合使用,可以运行如下命令:

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

这将搜索当前目录中.txt模式的所有foo文件,然后将再次搜索所有结果行的模式bar,以便最终输出将以任何顺序包含foobar


0
投票

我在Sublime Text 2上试过这个,所以也应该在Sublime Text 3上工作。

字段:string1 string2 string3 string4其中:/ path_to_folder_containing_the_files_I_want_to_ search /

注意:取消选中'。*'表示正则表达式并选中“”表示查找整个单词。

这将在上述文件夹中的所有文件中搜索模式“string1 string2 string3 string4”。

© www.soinside.com 2019 - 2024. All rights reserved.