我知道如何使用Sublime 3在几个文件中搜索单个字符串(解释here)。
我需要做的是在几个文件中搜索多个字符串。我试过去Find in files
并设置:
Field: string1 \& string2
Where: /path_to_folder_containing_the_files_I_want_to_ search/
(其中string1
和string2
是我想要搜索的字符串)但这似乎不起作用。
这可以完成吗?
刚刚遇到这个老问题,并认为我会添加我的解决方案,这可能对将来的某些人有用。
Sublime支持在所有打开的文件夹中搜索,并且可以使用正则表达式。因此,利用这两者,您可以打开或添加要搜索到项目的所有文件夹,并使用正则表达式搜索多个关键字。在你的情况下,它将是以下(确保检查正则表达式框.*
图标):
Find: (string1|string2)
Where: <open folders>
我用这个:
检查正则表达式
Find: (string1.*string2)
Where: *.php
不,你只能在Sublime中一次搜索一件事,就像我所知道的其他大多数编辑一样。唯一可行的方法是使用正则表达式搜索(在输入搜索词时单击字段最左侧的按钮),然后找到一个匹配您正在寻找的所有内容的正确的正则表达式。或者,您可以一次只搜索一个匹配项。
作为替代方案,请考虑使用标准的命令行文本处理实用程序,如grep
,sed
,awk
等。将它们的功能与shell的命令管道功能结合使用,可以运行如下命令:
grep -e "foo" *.txt | grep -e "bar"
这将搜索当前目录中.txt
模式的所有foo
文件,然后将再次搜索所有结果行的模式bar
,以便最终输出将以任何顺序包含foo
和bar
。
我在Sublime Text 2上试过这个,所以也应该在Sublime Text 3上工作。
字段:string1 string2 string3 string4其中:/ path_to_folder_containing_the_files_I_want_to_ search /
注意:取消选中'。*'表示正则表达式并选中“”表示查找整个单词。
这将在上述文件夹中的所有文件中搜索模式“string1 string2 string3 string4”。