这个其实从6.3开始可以分两步完成。我认为可以更早的完成,因为我第一次尝试的时候是5.9。
用stema的帖子作为这个答案的基础。现在少了一个步骤了。标记线,删除未标记的线。大功告成。详细说明如下:
搜索菜单 “查找"。2.在查找对话框中,点击 "标记 "选项卡。2.激活正则表达式。2.搜索^<Path>
(^
是指行的开始)。不要忘记勾选 "书签行",然后按 "全部标记”
搜索菜单 -> 书签 -> 删除未标记的行。
如果你真的想匹配<Path>
而不是文件系统路径,你可以用Perl在命令行中尝试这样做:
perl -pe " if ($_ !~ /<Path>/) { s/$_// } " < in.txt > out.txt
。
没有简单的方法可以用记事本++做你想要的事情。你需要下载一个程序到你的电脑上,或者用VB编写一些脚本(我想你是在Windows上)。sed实用程序是*nix上的最爱,可以在GnuWin http://gnuwin32.sourceforge.net/packages/sed.htm )的伟大的人那里找到适用于Windows的程序。你可以下载这个程序,然后在命令提示符中运行命令。
删除所有不包含的行:
sed -i '/^<PATH>/!d' file
打印所有包含的行到一个新文件中:
sed -n '/^<PATH>/p' file > newfile
我建议你使用打印你想要的行到一个新文件中。这样做的原因是,你可能在第一次使用的时候就无法得到regex语句。sed实用程序使用正则表达式基本语法(查看参考文献 http://www.regular-expressions.info/reference.html )。如果是类似于*nix路径(/var/www),那么你需要转义/字符,这样你的regex语句才会有效。如果我在文件中转义了/字符,那么这个命令就会抛出一个错误。你可以用反斜杠字符转义(如/)。
使用Search->Replace,输入一个像^[^].*
这样的正则表达式,然后用Regular expression
替换为空字符串。下一步是寻找空行,用\n\n
搜索\n
,用Extended
多次替换,直到0 occurrences were found.
为止(根据文件格式的不同,使用\r\n\r\n
和\r\n
)。如果你的空行数非常多,那么在搜索字符串中使用\n\n\n\n\n\n\n
甚至更多的\n
:s会更快。