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