你好,我搜索了一些旧帖子,但没有找到确切的解决方案。所以发布了新的问题。
我需要一个 Windows 命令来使用 AND 条件搜索两个单词。 findstr 是否适用于单词组合?我搜索的是 WORD1,然后是 WORD2。(不是反向搜索。word2 后跟 word1 或单个单词)。
以下是示例文件内容:
TABLEA
insert
INSERT TABLEA
update tableA
upsert tableb
insert into tableA
update staging.tableA
insert into staging.tableA
-- insert into staging.tableA
test insert staging.tableA
tableA insert
tableA select insert
所需的搜索输出:打印文件名当找到匹配项时。例如,word1=insert 和 word2=tableA。以下是示例搜索结果
INSERT TABLEA
insert into tableA
insert into staging.tableA
-- insert into staging.tableA
test insert staging.tableA
我有数千个文件需要搜索,而且文件大小非常大。我需要包含两个单词匹配的文件名。
我尝试使用 findstr 命令。但没有成功。是否有任何等效命令可在批处理文件中使用?
提前致谢。
答案1
根据您的示例,我能够产生预期的结果:
type sample.txt | FINDSTR /I "insert.*.tableA"
假设 :
sample.txt
包含您提供的示例文件内容- word1=insert 和 word2=tableA 按正确
AND
顺序排列("insert.*.tableA"
) - 不区分大小写 (
/I
) 匹配INSERT TABLEA
我没有测试过所有的用例,但这应该对你改进来说是一个好的开始。
从现在开始,您需要解析一些规则文件并将变量传递给上面的命令,这是另一个故事,但不是问题findstr
。