2017-05-31 65 views
0

我有文本文件,其中有数百个条目,如下所示。他们大多数是成对的两个IP。有时他们来自3个IP。我试图找到第三个始终位于堆栈中间的IP(下面的语法)。每个文件中最多有3个不同的IP。有些文本文件可能没有这个中间IP(它的出现是非常罕见的)。如果文本文件中有一个,我该如何编写搜索命令来查找所提到的堆栈中的中间IP?操作系统:Win7。使用FINDSTR搜索未知的IP

文本文件语法示例:

- saving IP addresses 

* 192.168.1.1 

* 111.111.222.222 

- over 

- saving IP addresses 

* 192.168.1.1 

* 11.123.11.123 

* 111.111.222.222 

- over 

- saving IP addresses 

* 192.168.1.1 

* 111.111.222.222 

- over 

我已经试过findstr \-.*\*.*\*.*\- pathtofile.txt这应返回的IP地址3块,如果有文件中这样的块,但没有奏效。

+0

嗨,欢迎来到该网站!我认为如果将示例文本文件放入代码块内,它会使您的文章更具可读性,但我不确定它是如何被格式化的。你能[编辑]做出改变吗?另外,请添加您尝试的任何命令,因为它显示了努力并帮助我们理解您想要的内容。 – whrrgarbl

回答

0

假设您的实际文件不像样本那样双倍行距,以下内容将输出第一行(保存...)和匹配块的行数。你真正的问题是findstr只会输出一行,即使你跨线匹配,所以你永远不会得到整个块输出。你需要一个更好的工具。

注意:我正在使用JPSoft Take Command转义字符放入CR和LF,但是您也可以在真正的批处理文件中创建它们,但这并不容易。

findstr /n /R saving.*^r^n.*\..*\..*\..*^r^n.*\..*\..*\..*^r^n.*\..*\..*\..*^r^n sampleIPinput.txt