我需要在成百上千的静态文件中进行相当多的正则表达式搜索/替换。我正在寻找建立一个审计跟踪,所以我至少知道哪些文件被哪些搜索/替换所触及。
我可以在 Notepad++ 中进行正则表达式搜索,它会为我提供文件名/路径和每个文件中的命中数。它还为我提供了我不太关心的#s 行。
我真正想要的是文件名/路径的单独文本文件。每个文件中的命中数将是一个很好的补充,但实际上它只是我所追求的文件名/路径的列表。
在 Notepad++ 的搜索结果窗格中,我可以右键单击并复制,但这包括所有的行#s 和代码,这太吵了,尤其是当你得到数百个匹配项时。
任何人都知道如何将这些结果仅用于文件名/路径?我追求的是:
/about/foo.html
/about/bar.html
/faq/2012/awesome.html
/faq/2013/awesomer.html
/foo/bar/baz/wee.html
etc.
然后我可以将该文件命名为 regex_whatever_search.txt,并在其顶部包含用于搜索和替换的正则表达式。在此之下,我列出了它所触及的文件列表。
更新看起来最简单的事情(至少我发现)是将所有搜索结果复制到一个新的文本文件中并运行以下正则表达式:
^\t线。+$
并将其替换为空字符串。这将为您提供文件路径和命中计数,每个条目之间有很多空白空间。然后运行以下正则表达式:
\s+\n
并替换为:
\n
这将去除所有不需要的空白空间,您将得到一个不错的列表。