Advertisement
Guest User

Untitled

a guest
Dec 19th, 2014
167
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.46 KB | None | 0 0
  1. using System;
  2. using System.IO;
  3. using System.Linq;
  4. using System.Text.RegularExpressions;
  5.  
  6. namespace ZipReducedOneFile
  7. {
  8. class Program
  9. {
  10. static void Main()
  11. {
  12. var files = Directory.EnumerateFiles(@"C:\Temp\DotNetZip\src\Zip", "*.cs")
  13. .Concat(Directory.EnumerateFiles(@"C:\Temp\DotNetZip\src\BZip2", "*.cs"))
  14. .Concat(Directory.EnumerateFiles(@"C:\Temp\DotNetZip\src\Zlib", "*.cs"))
  15. .Concat(Directory.EnumerateFiles(@"C:\Temp\DotNetZip\src\CommonSrc", "CRC32.cs"));
  16.  
  17. var lines = from file in files
  18. from line in File.ReadAllLines(file)
  19. select line;
  20.  
  21. var usingRegex = new Regex(@"^using (.+?);");
  22.  
  23. var usings = (from line in lines
  24. let match = usingRegex.Match(line)
  25. let ns = string.Join("", match.Groups[1].Value.Where(ch => !char.IsWhiteSpace(ch)))
  26. where match.Success
  27. select new { line, ns })
  28. // distinct-by ns
  29. .GroupBy(x => x.ns).Select(x => x.First().line);
  30.  
  31. var remainder = (from line in lines
  32. where !usingRegex.IsMatch(line)
  33. select line);
  34.  
  35. File.WriteAllLines(
  36. @"C:\Temp\DotNetZip\src\ZipReducedOneFile\DotNetZip.cs",
  37. usings.Concat(remainder));
  38. }
  39. }
  40. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement