Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.IO;
- using System.Linq;
- using System.Text.RegularExpressions;
- namespace ZipReducedOneFile
- {
- class Program
- {
- static void Main()
- {
- var files = Directory.EnumerateFiles(@"C:\Temp\DotNetZip\src\Zip", "*.cs")
- .Concat(Directory.EnumerateFiles(@"C:\Temp\DotNetZip\src\BZip2", "*.cs"))
- .Concat(Directory.EnumerateFiles(@"C:\Temp\DotNetZip\src\Zlib", "*.cs"))
- .Concat(Directory.EnumerateFiles(@"C:\Temp\DotNetZip\src\CommonSrc", "CRC32.cs"));
- var lines = from file in files
- from line in File.ReadAllLines(file)
- select line;
- var usingRegex = new Regex(@"^using (.+?);");
- var usings = (from line in lines
- let match = usingRegex.Match(line)
- let ns = string.Join("", match.Groups[1].Value.Where(ch => !char.IsWhiteSpace(ch)))
- where match.Success
- select new { line, ns })
- // distinct-by ns
- .GroupBy(x => x.ns).Select(x => x.First().line);
- var remainder = (from line in lines
- where !usingRegex.IsMatch(line)
- select line);
- File.WriteAllLines(
- @"C:\Temp\DotNetZip\src\ZipReducedOneFile\DotNetZip.cs",
- usings.Concat(remainder));
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement