删除N ++中包含字母字符的所有行

时间:2016-08-10 09:07:36

标签: regex replace find notepad++ letters

我正在清理我的代理列表中的特殊工具,它不了解包含字母字符的代理地址。所以我需要删除代理列表中包含字母的所有行。

查找字母没问题:echo "counters_2016080822.log:2016-08-08 15:55:00,10.26.x.x,SERVER@10.26.x.x,SSCM_VRC/sscm-vrc-flow-20160602,,transactions.tps,13 counters_2016080823.log:2016-08-08 23:00:00,10.26.x.x,SERVER@10.26.x.x,SSCM_VRC/sscm-vrc-flow-20160602,,transactions.tps,14 counters_2016080823.log:2016-08-08 23:05:00,10.26.x.x,SERVER@10.26.x.1x,SSCM_VRC/sscm-vrc-flow-20160602,,transactions.tps,19" | \ sed -r 's/^.*:([0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}),.*,([0-9]+)$/\1 \2/' | \ sort -n -k 3 -t ' ' | tail -n 1 可以解决问题。但是我怎么能找到/标记整条线?我应该用什么来代替包含字母的行?

2 个答案:

答案 0 :(得分:2)

您可以使用Notepad ++标记功能。

首先打开标记对话框( Ctrl + F  并切换到Mark),检查标记行正则表达式。然后使用模式[[:alpha:]]+

查找所有

Mark dialog

现在所有带字母的行都应该在前面有一个书签。您现在可以转到搜索 - > 书签 - > 删除已添加书签的行

答案 1 :(得分:0)

这是一个与“查找和替换”功能一起使用的解决方案,以及Notepad ++中的任何其他位置,以匹配包含字母的任何行。

将整行与ASCII字母匹配:

^.*[a-zA-Z].*$\R?

最后的\R?也允许匹配换行符(可选)。

为了提高效率,请在开头使用[^a-zA-Z\r\n]否定字符类:

^[^a-zA-Z\r\n]*[a-zA-Z].*$\R?

模式详情

  • ^ - 行首
  • [^a-zA-Z\r\n]* - 除ASCII字母和LF / CR以外的0个或更多字符
  • [a-zA-Z] - ASCII字母
  • .*$ - 除了换行符之外的零个或多个字符,直到行尾
  • \R? - 可选换行

此处,删除了一行333333ge3444444444

enter image description here