我有一个文件夹里面有4个文本文件和一个
我需要将这个文本文件与那四个文本文件进行比较,如果这些模式匹配那些文本文件中的任何一行,我就必须将这些行写入另一个日志文件中...我使用linq读取了这些文件..我需要比较这些文件并在一个带有行号的文本文件中写入它们..以下是我的代码
编辑: 我已经使用C#比较了两个文本文件,但我需要用LINQ实现。
pattern.txt
用来比较这些文本文件。在pattern.txt
中,我有:insert
update
delete
drop
我需要将这个文本文件与那四个文本文件进行比较,如果这些模式匹配那些文本文件中的任何一行,我就必须将这些行写入另一个日志文件中...我使用linq读取了这些文件..我需要比较这些文件并在一个带有行号的文本文件中写入它们..以下是我的代码
var foldercontent = Directory.GetFiles(pathA)
.Select(filename => File.ReadAllText(filename))
.Aggregate(new StringBuilder(),
(sb, s) => sb.Append(s).Append(Environment.NewLine),
sb => sb.ToString());
var pattern = File.ReadAllLines(pathB).Aggregate(new StringBuilder(),
(sb, s) => sb.Append(s).Append(Environment.NewLine),
sb => sb.ToString());
using (var dest = File.AppendText(Path.Combine(_logFolderPath, "log.txt")))
{
//dest.WriteLine("LineNo : " + counter.ToString() + " : " + "" + line);
}
编辑: 我已经使用C#比较了两个文本文件,但我需要用LINQ实现。
while ((line = file.ReadLine()) != null)
{
if (line.IndexOf(line2, StringComparison.CurrentCultureIgnoreCase) != -1)
{
dest.WriteLine("LineNo : " + counter.ToString() + " : " + " " + line.TrimStart());
}
counter++;
}
file.BaseStream.Seek(0, SeekOrigin.Begin);
counter = 1;