Windows命令输出被缩短

时间:2016-01-21 22:16:54

标签: batch-file grep

我正在编写一个批处理文件,该文件使用GNU grep for Windows来分析程序的输出。

我正在努力的命令旨在找到跨越多行的多个匹配项。当我在批处理文件中运行这个单一命令时,我得到了预期的输出。

someprogram.exe | grep -PZo "(?s)Start.*?End"

Start
...
End
Start
...
End
Start
...
End

但是,当我尝试将其传输到其他东西时(或者如果我在命令提示符下运行命令),只有其中一个匹配正在通过:

someprogram.exe | grep -PZo "(?s)Start.*?End" | more

Start
...
End

但是,如果每个匹配只跨越一行,那么我就不会遇到这个问题。

Start...End
Start...End
Start...End

我怀疑这可能与grep处理换行符的方式有关,但没有文档有用。有人可以解释一下发生了什么,并给我一个解决方法吗?

0 个答案:

没有答案