我最近在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"