grep类似于findstr的语法

我最近在linux上使用了很多的grep,但是现在我需要使用findstr来在Windows机器上执行相同的任务,并且不能完全正确地使用语法。

我的grep命令如下所示:

grep "12/12/2011.\*followed by literal string" /myFile.txt 

因此这将searchdate和指定的文字string,但可以包含两个search词之间的任何其他字符的混合使用.\*

任何人都知道如何将此语句转换为findstr? 谢谢

findstr命令支持/R选项,将搜索字符串指定为正则表达式。 这是默认的行为,所以你实际上不需要指定它:

 findstr "12/12/2011.*followed by literal string" myFile.txt 

以上应该给出与你的grep例子相同的结果。

为了匹配一个文字字符串,你应该使用/C标志,例如: /C:"Your literal string here"否则你的正则表达式中的空间被计为一个OR例如:

 findstr "12/12/2011.*followed by literal string" myFile.txt 

是相同的

 grep 12/12/2011.*followed|by|literal|string myFile.txt 

为了将两者结合起来,将一个输出管道输入另一个,如下所示:

 findstr "12/12/2011.*" myFile.txt | findstr /C:"followed by literal text"