Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Jul 10th, 2012  |  syntax: None  |  size: 0.63 KB  |  hits: 13  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. static void Main(string[] args)
  2. {
  3.     if (args.Length != 2) return;
  4.     string searchPattern = args[0], dir = Path.GetDirectoryName(args[1]), filePattern = Path.GetFileName(args[1]);
  5.     var files = from file in Directory.EnumerateFiles(dir, filePattern, SearchOption.AllDirectories)
  6.                 from line in File.ReadLines(file).Select((text, i) => new { Text = text, Index = i })
  7.                 where new Regex(searchPattern).IsMatch(line.Text)
  8.                 select new { File = file, LineText = line.Text, LineNo = line.Index };
  9.     Parallel.ForEach(files, (f) => { Console.WriteLine("{0}({1}){2}", f.File, f.LineNo, f.LineText); });
  10. }