Windows 7 cmd Findstr 查找 2 个字符串 a AND b(非 OR)

Windows 7 cmd Findstr 查找 2 个字符串 a AND b(非 OR)

我想知道是否有办法使用 findstr 来查找文本文件中同时包含字符串 a 和 b 的行。以下: findstr "aaa bbb" test.txt 将查找所有包含 aaa 或 bbb 的行。我想要所有包含 aaa 和 bbb 的行

答案1

我想要所有带有 aaa 和 bbb 的行

您可以使用findstr两次来实现这一点,将第一个命令的输出通过管道传输到第二个命令。

测试.abc:

aaa
bbb
aaa bbb

...

F:\test>findstr "aaa" test.abc | findstr "bbb"
aaa bbb

示例搜索字符串被引用,因为它们可能包含空格。


进一步阅读

答案2

最简单的方法是连续使用两个命令:

findstr "aaa" test.txt | findstr "bbb"

这对于仅列出文件名的通配符文件名(/m选项)不起作用。在这种情况下,请使用替代方法:

findstr "aaa.*bbb bbb.*aaa" test.txt

这对于两个搜索字符串很有效,但是当有三个或更多字符串需要搜索时会变得非常复杂。

相关内容