【问题标题】:Use SublimeText to delete all log entries except IPs使用 SublimeText 删除除 IP 之外的所有日志条目
【发布时间】:2016-08-02 04:46:57
【问题描述】:

我在 Sublime Text 中有一个日志文件,其条目如下所示:

51.255.65.70 - - [11/Apr/2016:21:55:43 +0200] "GET URL HTTP/1.1" 200 1537

如何删除除 IP 之外的所有内容?该文件太大,我无法手动执行。谢谢。

【问题讨论】:

  • 如果你能找到要保留的模式,你可以简单地用正则表达式选择它,然后反转选择并点击“输入”。每行会有一个结果。

标签: regex logging replace sublimetext2 editing


【解决方案1】:

寻找正则表达式

^([.\d]+).+

...并将其替换为$1
a demo on regex101.com

【讨论】:

    【解决方案2】:

    我通常将这种模式用于 IP 地址:

    \b(\d{1,3}\.){3}\d{1,3}\b
    

    但是,根据RegEx.info,这是终极模式:

    \b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b
    

    但我认为第一个就可以了;)

    【讨论】:

      【解决方案3】:

      一个 IP 看起来像 ((?:\d{1,3}\.?){4}),所以找到 ((?:\d{1,3}\.?){4}).* 并将其替换为 \1

      如果您只想要以一行开头的 IP,请以 ^ 开始搜索(例如 ^((?:\d{1,3}\.?){4}).*

      【讨论】:

        【解决方案4】:

        Ctrl + H
        确保启用了正则表达式,图标看起来像 .*.

        ^([^\s]+).*$替换为\1

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-11-23
          • 2014-05-15
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-06-27
          相关资源
          最近更新 更多