转到c#中日志文件中的特定行

时间:2013-01-29 09:57:03

标签: c#

我如何转到日志文件中的特定行,然后计算行数直到空行。然后我必须去下一个街区。我必须在一个文件中多次重复此过程

以下是一个例子:

-------------Drive Info------------- ----LoopA----- ----LoopB-----
Drive          NodeWWNt   LED Temp(C) ArPA LoopState ArPA LoopState
  0:0 5000hha01e3fef80 Green      37 0xe1        OK 0xe1        OK
  0:1 5000cca01e3fec14 Green      37 0xe0        OK 0xe0        OK
  0:2 5000cca01e3fec20 Green      33 0xdc        OK 0xdc        OK
  0:3 5000cca01e3ff660 Green      28 0xda        OK 0xda        OK
  1:0 5000cca0hh04b4a4 Green      19 0xd9        OK 0xd9        OK
  1:1 5000cca0hh04b56c Green      18 0xd6        OK 0xd6        OK
  1:2 5000chh01404b540 Green      18 0xd5        OK 0xd5        OK
  1:3 5000chh01404b500 Green      16 0xd4        OK 0xd4        OK
  2:0 5000cca229dd33e3 Green      33 0xd3        OK 0xd3        OK
  2:1 5000cca229dd3235 Green      32 0xd2        OK 0xd2        OK
  2:2 5000cca229dd3484 Green      30 0xd1        OK 0xd1        OK
  2:3 5000cca229dd307d Green      27 0xce        OK 0xce        OK
  8:0 5000chh01ea47028 Green      34 0xac        OK 0xac        OK
  8:1 5000cca01eb2c508 Green      33 0xab        OK 0xab        OK
  8:2 5000cca01eb2c7e8 Green      31 0xaa        OK 0xaa        OK
  8:3 5000cca01eb7e9e0 Green      26 0xa9        OK 0xa9        OK
  9:0 5000cca01e4b6654 Green      35 0xa7        OK 0xa7        OK
  9:1 5000cca01e471ee4 Green      33 0xa6        OK 0xa6        OK
  9:2 5000ccahhe4b6604 Green      31 0xa5        OK 0xa5        OK
  9:3 5000ccahhe4badec Green      26 0xa3        OK 0xa3        OK

-----------detail info  ---------

我必须计算驱动器的数量,所以我的想法是将光标放在包含“驱动器信息”的行中,并将其余行连接到包含“详细信息”的行 你有什么想法吗?

2 个答案:

答案 0 :(得分:2)

尝试:

string[] lines = System.IO.File.ReadAllLines(@"YourLogFile");

然后转到lines[YourLineNumber - 1]以获取该行中的文字。

答案 1 :(得分:0)

假设基于零的行号

var lineNum=10;
var LinesINeed = File
   .ReadLines(@"C:\myFile.html")
   .Skip(lineNum)
   .TakeWhile(line=>!string.IsNullOrWhiteSpace(line));