
Untitled
By: a guest on
Jul 10th, 2012 | syntax:
None | size: 0.63 KB | hits: 13 | expires: Never
static void Main(string[] args)
{
if (args.Length != 2) return;
string searchPattern = args[0], dir = Path.GetDirectoryName(args[1]), filePattern = Path.GetFileName(args[1]);
var files = from file in Directory.EnumerateFiles(dir, filePattern, SearchOption.AllDirectories)
from line in File.ReadLines(file).Select((text, i) => new { Text = text, Index = i })
where new Regex(searchPattern).IsMatch(line.Text)
select new { File = file, LineText = line.Text, LineNo = line.Index };
Parallel.ForEach(files, (f) => { Console.WriteLine("{0}({1}){2}", f.File, f.LineNo, f.LineText); });
}