我的文本文件有数百个条目,如下所示。它们大多数是成对的2个IP。有时它们会成为3个IP。我试图找到始终位于堆栈中间的第三个IP(下面的语法)。每个文件中始终有最多3个不同的IP。有些文本文件可能没有那个中间IP(它的出现非常罕见)。如果文本文件中有一个,如何编写搜索命令以查找上述堆栈中的中间IP?操作系统:Win7。
文本文件示例语法:
- 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
如果文件中有这样的块但是它没有工作,那么它应该返回3个IP的块。
答案 0 :(得分:0)
假设您的真实文件不像样本那样是双倍行距,以下将输出第一行(保存...)和匹配块的行数。你的真正问题是findstr
只会输出一行,即使你跨行匹配,所以你永远不会得到整个块的输出。你需要一个更好的工具。
注意:我使用JPSoft Take Command转义字符放入CR和LF,但您也可以在实际批处理文件中创建它们,但这并不容易。
findstr /n /R saving.*^r^n.*\..*\..*\..*^r^n.*\..*\..*\..*^r^n.*\..*\..*\..*^r^n sampleIPinput.txt