【发布时间】:2012-12-15 22:31:46
【问题描述】:
如果我在一天中多次搜索同一个 LOG 文件中的字符串,以某种方式转到上次搜索时读取文件的最后一行然后开始逐行读取会更快吗?这里会节省很多钱吗?
示例文件
进程ID逻辑
11111 在中间层服务器上运行一些愚蠢的逻辑。
11111 仍在运行逻辑
22222 在其他用户的中间层服务器上运行一些愚蠢的逻辑。
11111 哦,看第一个过程完成了。
22222 仍在第二个进程上运行逻辑。
有时我想要从上次加载文件开始的多行文件。目前我使用 UltraEdit 加载文件一次,然后更新文件,但这仍然需要相当长的时间。
在上面的这个例子中,我想从第一个进程开始。
注意:
- 文件有时可以达到数百 MB。
- 上面的例子是缩略的,每个进程 ID 可能包含 100 行逻辑。
- 我正在通过网络访问日志文件。我发现使用 UE 从网络加载文件然后继续更新文件比复制到我的本地 PC 然后打开它更快。
- 我希望有一个可以从 powershell 运行的 C# 控制台应用程序,并将我想要的行通过管道传输到屏幕或文件。
我的另一个问题是,怎样才能使这个过程尽可能高效? 1.关于用于我的文件大小的 C# 方法? 2.关于用于编写实用程序的应用程序?我有 powershell、C#、C++、perl
【问题讨论】:
-
欢迎来到stackoverflow @B8factor,请阅读faq 和How to Ask