这是我自己在大约 sIEve 方面的经验。自从我问这个问题以来的 24 小时。它提供了充足的、可视的、尽管是非交互式的数据,例如“只读”。它确实提供了一种方法来“复制”它在各种“显示”网格中显示的数据,在我的例子中是“显示使用中”。但是,当粘贴到文本文档中时,这导致的数据量远远超出了网格中实际显示的数据量,而且非常丰富。
让我详细说明我的用例。 sIEve 本身并不表示“泄漏”,而是表示“孤儿”。要了解这在 sIEve 用语中的含义,请参阅 this page。
使用 sIEve 浏览器访问我感兴趣的页面后,我使用“显示使用中”功能来显示包含大约 10 或 12 个字段的网格。通过单击标题可对列数据进行排序,因此我能够对“孤立”列进行排序,然后选择指示“是”的行范围,然后单击“复制”
但是我首先问了这个问题,因为 Copy 似乎没有工作,或者 sIEve 崩溃了。我在大约三分之一或一半的时间里继续遇到这些问题,但仍然坚持不懈,最终能够将原始数据粘贴到文档中。
正如我所提到的,原始数据的数量非常多。所以到目前为止我唯一开发的是一个用于计算“记录”的正则表达式。每条记录都以一行开头,如下所示:
http://localhost:8086/yms_web/yardmanager.do (1 reference)
它将始终指示引用的数量,因此这是我开发的用于在原始数据中查找这些行的正则表达式;请注意,我为此使用 Cygwin:
$ egrep '\([0-9]+ reference[s]?\)' before_trailer_adjust_clicks.txt
http://localhost:8086/yms_web/yardmanager.do (5 references)
http://localhost:8086/yms_web/yardmanager.do (1 reference)
http://localhost:8086/yms_web/yardmanager.do (2 references)
正如您所见,正则表达式正确处理了多个引用的可能性;我还没有看到它处理有两位数引用的情况,但我相信它应该。
无论如何,通过将上述输出传递给 wc -l 您可以快速找出您有多少行,因此在我的情况下,通过从“孤儿”等于“是”的网格中捕获数据,然后执行此操作通过连续的 HTTP 请求,我能够看到孤儿的数量是如何增加的,例如:
$ egrep '\([0-9]+ reference[s]?\)' before_trailer_adjust_clicks.txt | wc -l
3
$ egrep '\([0-9]+ reference[s]?\)' after_trailer_adjust_click.txt | wc -l
4
$ egrep '\([0-9]+ reference[s]?\)' after_create_rftask_click.txt | wc -l
4
$ egrep '\([0-9]+ reference[s]?\)' after_create_rftask_close.txt | wc -l
66
$ egrep '\([0-9]+ reference[s]?\)' after_trailer_adjust_close.txt | wc -l
163
当然,可以在 bash 脚本中调用 egrep 命令,循环遍历感兴趣的文件,但我还没有走那么远。
顺便说一下,这是一个 ExtJS 应用程序,我在他们的论坛上询问并得到了一些很好的建议,并且能够显着减少孤儿的数量!
希望这对 SO 上的其他人有所帮助,但不确定为什么这个问题被投票关闭