remove.js 795 B

123456789101112131415161718192021222324252627
  1. #!/usr/bin/env node
  2. 'use strict';
  3. var _ = require('../lodash'),
  4. fs = require('fs'),
  5. path = require('path');
  6. var args = (args = process.argv)
  7. .slice((args[0] === process.execPath || args[0] === 'node') ? 2 : 0);
  8. var filePath = path.resolve(args[1]),
  9. reLine = /.*/gm;
  10. var pattern = (function() {
  11. var result = args[0],
  12. delimiter = result.charAt(0),
  13. lastIndex = result.lastIndexOf(delimiter);
  14. return RegExp(result.slice(1, lastIndex), result.slice(lastIndex + 1));
  15. }());
  16. /*----------------------------------------------------------------------------*/
  17. fs.writeFileSync(filePath, fs.readFileSync(filePath, 'utf8').replace(pattern, function(match) {
  18. var snippet = _.slice(arguments, -3, -2)[0];
  19. return match.replace(snippet, snippet.replace(reLine, ''));
  20. }));