![Windows 7 cmd Findstr 查找 2 个字符串 a AND b(非 OR)](https://linux22.com/image/1439716/Windows%207%20cmd%20Findstr%20%E6%9F%A5%E6%89%BE%202%20%E4%B8%AA%E5%AD%97%E7%AC%A6%E4%B8%B2%20a%20AND%20b%EF%BC%88%E9%9D%9E%20OR%EF%BC%89.png)
我想知道是否有办法使用 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
示例搜索字符串被引用,因为它们可能包含空格。
进一步阅读
- Windows CMD 命令行的 AZ 索引- 与 Windows cmd 行相关的所有事物的绝佳参考。
- 查找字符串- 在文件中搜索字符串。
答案2
最简单的方法是连续使用两个命令:
findstr "aaa" test.txt | findstr "bbb"
这对于仅列出文件名的通配符文件名(/m
选项)不起作用。在这种情况下,请使用替代方法:
findstr "aaa.*bbb bbb.*aaa" test.txt
这对于两个搜索字符串很有效,但是当有三个或更多字符串需要搜索时会变得非常复杂。