79

我有一个很大的服务器日志文件(~750 MB),我无法用记事本或记事本++打开(他们都说文件太大)。

任何人都可以建议一个程序(适用于 Windows)一次只能将文件的一小部分读入内存吗?

还是我需要编写自己的应用程序来解析这个文件?

4

13 回答 13

57

尝试这个...

大文本文件查看器

顺便说一句,它是免费的:)

但是,我认为你应该在 serverfault.com 上问这个问题

于 2009-05-11T01:54:14.380 回答
23

如果你只需要一个阅读工具,那么这个东西会立即打开文件http://www.readfileonline.com/

于 2014-03-16T23:00:43.170 回答
11

EmEditor,很不错,我用它打开一个500mb以上的文件

于 2013-12-09T06:43:46.453 回答
8

Total Commander的集成文本查看器可以毫无问题地打开大文件(>10GB)进行查看。它还提供不同的视图,例如 Hex-View。

于 2014-08-21T08:50:08.817 回答
6

绝对是 EditPad Lite

它不仅在打开文件时非常快,而且像“全部替换”、修剪前导/尾随空格或将内容转换为小写等功能也非常快。

它也非常类似于Notepad++ ;)

于 2012-10-02T19:01:39.247 回答
6

我已经使用BareTail很长一段时间来查看大型日志(一些 GB),它工作得非常好而且速度非常快。有免费版和商业专业版。

他们说它

  • 实时文件
  • 优化的实时查看引擎查看任意大小(> 2GB)的文件
  • 立即滚动到整个文件中的任何点
  • 通过网络查看文件
  • 可配置的换行
  • 可配置的 TAB 扩展
  • 可配置的字体,包括间距和偏移,以最大限度地利用屏幕空间

另一种选择是Far Manager。查看几 GB 的文件没有问题(内存占用很小),但尝试在编辑模式下打开文本文件可能会占用几 GB 的 RAM,因此请注意这一点。我不知道可以在 Far 中查看/编辑的文件大小限制。

于 2015-03-11T10:00:39.103 回答
4

UltraEdit 可以解决问题

于 2009-05-11T01:55:00.527 回答
3

我只是lessCygwin上使用来读取一个 3GB 的文件,尽管我最终使用grep它来找到我需要的内容。

lessmore,但更好。)

有关更多详细信息,请参阅此答案lesshttps ://stackoverflow.com/a/1343576/1005039

于 2015-01-16T12:20:29.783 回答
2

如果您可以编码,请编写一个控制台应用程序。这是你所追求的c#等价物。你可以对结果做你想做的事情(拆分、执行等):

SqlCommand command = null;
try
{
    using (var connection = new SqlConnection("XXXX"))
    {
        command = new SqlCommand();
        command.Connection = connection;
        if (command.Connection.State == ConnectionState.Closed) command.Connection.Open();
        // Create an instance of StreamReader to read from a file.
        // The using statement also closes the StreamReader.
        using (StreamReader sr = new StreamReader("C:\\test.txt"))
        {
            String line;
            // Read and display lines from the file until the end of 
            // the file is reached.
            while ((line = sr.ReadLine()) != null)
            {
                Console.WriteLine(line);
                command.CommandText = line;
                command.ExecuteNonQuery();
                Console.Write(" - DONE");
            }
        }
    }
}
catch (Exception e)
{
    // Let the user know what went wrong.
    Console.WriteLine("The file could not be read:");
    Console.WriteLine(e.Message);
}
finally
{
    if (command.Connection.State == ConnectionState.Open) command.Connection.Close();
}
于 2012-08-07T09:44:15.357 回答
0

用于 Windows 的 GnuUtils 也使这变得简单。该软件包中包含标准的 UNIX 实用程序,例如 cat、ls 等。我正在使用 cat 文件名 | 更多地翻阅 Notepad++ 根本无法打开的巨大文件。

于 2012-06-01T19:08:05.040 回答
0

虽然大文本文件查看器非常适合仅查看大文件(而且是免费的!),但如果文件是定界文件或固定宽度文件,那么您应该查看文件查询。它不仅可以打开任何大小的文件(我个人打开了一个 280GB 的文件,但它可以变得更大),而且它还可以让您像在数据库中一样查询文件,找出您需要的任何类型的信息可以从中得到。

虽然它不是免费的,所以它更适合经常处理大文件的人,但如果您遇到一次性问题,您可以免费使用 30 天试用版。

于 2012-01-02T05:20:41.493 回答
0

我讨厌宣传我自己的东西(嗯,不是真的),但PowerPad可以打开非常大的文件。

否则,我会推荐一个十六进制编辑器。

于 2010-08-20T20:14:08.580 回答
-3

您应该尝试TextPad,它可以读取该大小的文件。

可以免费评估(您可以无限期地评估)

于 2009-05-11T01:52:15.087 回答