我有两个文件:
1.txt:
abc
def
2.txt:
abc
请注意,2.txt 仅包含 3 个字符,没有空行。现在如果我这样做:
findstr /S /I /L /A:02 "abc" *
我得到这个结果:
1.txt:abc
2.txt:abc
这是我所期望的。但是,将 1.txt 重命名为 uno.txt,将 2.txt 重命名为 duo.txt(从而更改文件搜索顺序)并运行相同的命令后,我得到以下结果:
duo.txt:abcuno.txt:abc
结果在一行中,而我像以前一样期待两行。当然,如果我在 duo.txt 末尾添加新行,那么输出就可以了,但是如何在不修改文件的情况下做到这一点? findstr 中有一些“强制结果换行”选项吗?
最佳答案
您可以尝试使用 FOR
循环来遍历文件并将每个文件的内容通过管道传输到 FINDSTR
。
类似这样的事情:
@ECHO OFF
FOR /R %%f IN (*.txt) DO (
TYPE %%f | FINDSTR /S /I /L "abc"
)
关于windows - findstr 在一行中显示匹配项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29989328/