同一行,提取2个关键词

发布于 2024-11-06 04:25:52 字数 608 浏览 1 评论 0原文

这是我上一个问题的后续问题..不完全相关,但有点是..

我正在使用 Visual C# 来实现我的目的..

考虑我的日志文件中的以下条目

117.200.80.190 "2009-08-09 00:44:38  " "GET /admintools/openx-2.8.1/afr.php" 200 528 "http://www.enggresources.com/comedk/comedk_mock_counselling.php" "Mozilla/4.0"

59.92.139.141 - - "2009-08-09 00:56:50  " "GET /resources/ HTTP/1.1" 302 20 "http://www.enggresources.com/placements/index.php" "Mozilla/5.0 "

-- -现在我想提取“admintools” ”和“comedk”来自第一个条目..
-以及第二个条目中的“资源”和“展示位置”..
-第三个条目中的“home”和“NULL”..
-这些是示例条目,我的日志文件中有类似的数千个条目。

一旦我从每一行中提取每一对,我希望能够计算该对在整个文件中的出现次数。

This is a follow-up to my previous question..not completely related,but kinda is..

I'm using Visual C# for my purpose..

Consider the following entries in my log file--

117.200.80.190 "2009-08-09 00:44:38  " "GET /admintools/openx-2.8.1/afr.php" 200 528 "http://www.enggresources.com/comedk/comedk_mock_counselling.php" "Mozilla/4.0"

59.92.139.141 - - "2009-08-09 00:56:50  " "GET /resources/ HTTP/1.1" 302 20 "http://www.enggresources.com/placements/index.php" "Mozilla/5.0 "

-Now I want to extract "admintools" and "comedk" from the first entry..
-And "resources" and "placements" from the second entry..
-And "home" and "NULL" from the third entry..
-These are sample entries and I have similar thousands in my log file..

Once I extract each pair from each line, I'd like to be able to count the occurrence of the pair throughout the file.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

惟欲睡 2024-11-13 04:25:52

请随意使用我的StringReader

string line = textReader.ReadLine();
var reader = new StringReader(line);
while (line != null)
{
    var ip = reader.ReadWord();
    reader.SkipWhitespaces();
    var date = reader.ReadQuotedString();
    reader.SkipWhitespaces();
    var uri = reader.ReadQuotedString();
    reader.ReadUntil('"');
    var uri2 = reader.ReadQuotedString();

    line = textReader.ReadLine();
    reader.Assign(line);
}

Feel free to use my StringReader.

string line = textReader.ReadLine();
var reader = new StringReader(line);
while (line != null)
{
    var ip = reader.ReadWord();
    reader.SkipWhitespaces();
    var date = reader.ReadQuotedString();
    reader.SkipWhitespaces();
    var uri = reader.ReadQuotedString();
    reader.ReadUntil('"');
    var uri2 = reader.ReadQuotedString();

    line = textReader.ReadLine();
    reader.Assign(line);
}
何其悲哀 2024-11-13 04:25:52
@"\"GET\s+/([^/]+)/\S*(?:\s+HTTP/1\.1)?\"\s+\d+\s+\d+\s+\"https?://www.enggresources.com/([^/]+)"
@"\"GET\s+/([^/]+)/\S*(?:\s+HTTP/1\.1)?\"\s+\d+\s+\d+\s+\"https?://www.enggresources.com/([^/]+)"
绅士风度i 2024-11-13 04:25:52

如果我是你,我会尝试使用正则表达式

If I was you, I would try using Regular Expression

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文