在Notepad ++中搜索固定模式后的某个数值并删除其他所有内容

时间:2014-05-17 18:01:53

标签: pattern-matching notepad++

我正在尝试使用Notepad ++在某个模式匹配后搜索数值,并删除除值和模式之外的所有其他内容。

我无法找到有效的解决方案。关注的日志文件非常庞大。

下面是日志文件的片段,其中包含我要匹配的模式。

The Pattern' Net:'是我想要匹配并在它之后立即选择价值并删除其他一切。对此的任何帮助将深表感谢。您将在第2行和第4行看到Net:

要删除行的行要删除要删除的行要删除的行要删除要删除的行要删除的行 要删除的数据网络:5770要删除的数据要删除的数据要删除的数据 行删除行删除行删除行删除行删除删除行删除 要删除的数据网络:5770要删除的数据要删除的数据要删除的数据 行删除行删除行删除行删除行删除行删除

2 个答案:

答案 0 :(得分:0)

您可以使用正则表达式执行此操作。按 CTRL + H 打开“查找/替换”框 - 在左下角,选择“正则表达式”单选按钮。在“查找内容”框中输入

.*(Net:[\d]+).*

说明:.*匹配任何字符0次或更多次; (...)表示存储这些括号内的匹配项,Net:是要匹配的第一个字符,然后[\d]+表示匹配任何数字一次或多次,最后.*再次表示匹配任何字符(换行符除外)零次或多次。在“替换为”框中输入

\1

这意味着取出“查找内容”框中保存的第一个组并将其放在此处。然后单击“替换”。一旦你确定它能达到你想要的效果,你就可以选择“全部替换”。

输出:

<14>Jun 20 02:13:31 syslog: 7984220 64934      |7984220    |MEAL   |sess_id:37550, AVinDataMsgs:[0] TotAVinData:[0] AVoutDataMsgs:[63] TotAVoutData:[3870720]            |meal_sess_logger                              |1662 |DBG  
Net:5770
<14>Jun 20 02:13:31 syslog: 7984680 64936      |7984680    |SSMC   |WM's SET 6050 B 349, G 267, Y 184, R 15                                                              |ssm_asf_watermark_calc                        |702  |CRI  
Net:5770
<14>Jun 20 02:13:31 syslog: 7984680 64938      |7984680    |SSMC   |sess_id:37550 RUP:20000 Kbps, Enc_bitrate:5909 Kbps, RDP:5000 Kbps                                   |ssm_update_res_chg_counter                    |789  |DBG  

答案 1 :(得分:0)

在Notepad ++中,转到替换并检查搜索模式Regular expression. matches newline

然后替换以下内容:

  • ^(.*?)Net:Net:签署Net:
  • 之前的所有内容
  • ^<.*$没有任何内容可以写入没有Net:
  • 的行
  • ,(.*?)$Net:
  • 之后没有任何内容可以写入文字

您的输出将是:

Net:5770
Net:5770