3

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

我的 grep 命令如下所示:

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

所以这会搜索日期和指定的文字字符串,但可以使用在两个搜索词之间包含任何其他字符的混合.\*

有人知道如何将此语句转换为 findstr 吗?谢谢

4

2 回答 2

4

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

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

grep以上应该给出与您的示例相同的结果。

于 2011-12-12T11:18:58.260 回答
1

为了匹配文字字符串,您应该使用该/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"
于 2014-07-16T20:38:42.073 回答