我的任务是给应用程序贴上白标签,使其不包含对我们公司、网站等的引用。我遇到的问题是我有许多不同的模式要寻找,并希望保证所有模式都被删除。由于该应用程序不是内部(完全)开发的,我们不能简单地在 messages.properties 中查找事件并完成。我们必须通过 JSP、Java 代码和 xml。
我正在使用 grep 来过滤这样的结果:
grep SOME_PATTERN . -ir | grep -v import | grep -v // | grep -v /* ...
当我在命令行上使用它们时,这些模式被转义了;但是,我不觉得这种模式匹配非常健壮。可能会出现导入(不太可能)甚至 /*(javadoc 注释的开头)的事件。
所有输出到屏幕的文本必须来自某处的字符串声明或常量文件。所以,我可以假设我会找到类似的东西:
public static final String SOME_CONSTANT = "SOME_PATTERN is currently unavailable";
我想找到这种情况以及:
public static final String SOME_CONSTANT = "
SOME_PATTERN blah blah blah";
或者,如果我们有一个内部爬虫/自动化测试,我可以简单地从每个页面拉回 xhtml 并检查源代码以确保它是干净的。