Windows FINDSTR命令可怕地记录在案.有一个非常基本的命令行帮助可用FINDSTR /?,或者HELP FINDSTR,但是它非常不合适.在https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/findstr上有更多的在线文档.
有许多FINDSTR功能和限制甚至在文档中都没有暗示.如果没有先前的知识和/或仔细的实验,他们也无法预料到.
所以问题是 - 未记录的FINDSTR功能和限制是什么?
此问题的目的是提供许多未记录的功能的一站式存储库,以便:
A)开发人员可以充分利用那里的功能.
B)开发人员不要浪费时间,想知道为什么某些东西看起来不应该起作用.
在回复之前,请确保您知道现有文档.如果HELP涵盖了这些信息,则它不属于此处.
这也不是展示FINDSTR有趣用途的地方.如果逻辑人员可以根据文档预测FINDSTR的特定用法的行为,那么它不属于此处.
同样,如果逻辑人员可以基于任何现有答案中包含的信息预测特定用法的行为,那么再次,它不属于此处.
我已经知道这个问题的明显答案:"只需下载<插入喜欢的windows grep或grep-like tool>".但是,我在当地IT人员严格控制的环境中工作,关于我们允许在计算机上使用的内容.我只想说:我可以在Windows XP上访问Perl.这是我想出的一个快速的Perl脚本,它做了我想要的,但我还没有弄清楚如何设置一个批处理文件,以便我可以将命令输出传入其中,或传递一个文件(或文件列表) ?)作为"grep表达式"之后的参数:
perl -n -e "print $_ if (m![expression]!);" [filename]
如何编写我可以执行的批处理脚本,例如:
dir | grep.bat mypattern grep.bat mypattern myfile.txt
编辑:虽然我标记了另一个"答案",但我想对Ray Hayes的回答表示赞赏,因为它实际上是"Windows方式",即使另一个答案在技术上更接近我想要的.