1 Star 1 Fork 0

sandii chen / gitnote

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
find.js 764 Bytes
一键复制 编辑 原始数据 按行查看 历史
sandii chen 提交于 2017-02-22 17:10 . update
const fs = require('fs');
const path = require('path');
const argv = process.argv.slice(2);
const dir = argv[0] || './';
const target = argv[1];
if (!target) {
console.warn('nothing to find..');
return;
}
const reg = new RegExp(target);
const needReplace = argv[2] === 'to';
const rep = argv[3];
traverse(dir, (str, pathname) => {
console.log(pathname);
if (!needReplace) return;
str = str.replace(reg, rep);
fs.writeFileSync(pathname, str);
});
function traverse (dir, cbk) {
fs.readdirSync(dir).forEach(name => {
let pathname = path.join(dir, name);
if (fs.lstatSync(pathname).isDirectory()) {
traverse(pathname, cbk);
} else {
let str = fs.readFileSync(pathname).toString();
if (str.match(reg)) {
cbk(str, pathname);
}
}
});
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
JavaScript
1
https://gitee.com/sandii/gitnote.git
git@gitee.com:sandii/gitnote.git
sandii
gitnote
gitnote
master

搜索帮助

344bd9b3 5694891 D2dac590 5694891