返回列表

node下批量修改文件内容 遍历

默认分类 2019/07/19 04:08

walkthrough,walker,walkdir

大批量修改文件这种活还是交给脚本来处理吧

#!/usr/bin/env node
var fs = require('fs')
var path = require('path')
function fatal(message) {
  console.error(message)
  process.exit(1)
}
function processFile(inputFile) {
  fs.readFile(inputFile, {
    encoding: 'utf8'
  }, function(err, data) {
    if (err) return fatal('Cannot read ' + inputFile + '
' + err.message)
    
    var txt = modifyContent(data)
    fs.writeFile(inputFile, txt, {
      encoding: 'utf8'
    }, function(err) {
      if (err) return fatal('Cannot write ' + inputFile + '
' + err.message)
      else console.log('ok ' + inputFile)
    })
  })
}
function processDirectory(inputDir, fileExt) {
  fs.readdir(inputDir, function(err, files) {
    if (err) return fatal('Cannot read directory ' + inputDir + '
' + err.message)
    
    files.forEach(function(file) {
      var inputFile = path.join(inputDir, file)
      fs.stat(inputFile, function(err, stat) {
        if (err) return fatal('Cannot read ' + inputFile + '
' + err.message)
        
        if (stat.isDirectory()) {
          processDirectory(inputFile, fileExt)
        } else if (!fileExt || path.extname(file) === '.' + fileExt) {
          processFile(inputFile)
        }
      })
    })
  })
}
// function modifyContent (str) {
//  return str.split('  ').join('  ').replace('
', ' ') // } function modifyContent (str) { return str.replace(/\t([^\t]| |\r)+$/ig, '') } processDirectory('html_new', 'html')


>> 留言评论