【问题标题】:Searching for an unknown IP using FINDSTR使用 FINDSTR 搜索未知 IP
【发布时间】:2017-05-31 21:06:41
【问题描述】:

我有包含数百个条目的文本文件,如下所示。它们大多成对出现 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 的块,但它不起作用。

【问题讨论】:

  • 您好,欢迎来到本网站!我认为如果您将示例文本文件放在代码块中,它会使您的帖子更具可读性,但我不确定它是如何格式化的。你能edit 做出改变吗?另外,请添加您尝试过的任何命令,因为它显示了努力并帮助我们了解您想要什么。

标签: regex windows command-line findstr


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多